通过 SSH 隧道传输数据非常简单:
ssh -D9999 username@example.com
Run Code Online (Sandbox Code Playgroud)
将端口 9999 设置localhost为到 的隧道example.com,但我有更具体的需求:
localhosthost1 可以访问 localhosthost2 只接受来自 host1localhost到创建一个隧道host2实际上,我想创建一个“多跳”SSH 隧道。我怎样才能做到这一点?理想情况下,我希望在不需要成为任何机器上的超级用户的情况下执行此操作。
我目前远离局域网,我需要备份我的笔记本电脑。我的服务器上有一份最近的笔记本电脑副本,我通常使用 rsync 备份笔记本电脑。现在我希望这样做,但在我的 LAN 之外。
简而言之,我想通过 B 将数据从 A 发送到 C,其中 A 是我的笔记本电脑,B 是我的路由器,C 是我的服务器。
我找到了这个命令:A$ scp -oProxyCommand="ssh B nc %h %p" thefile C:destination,它适用于通过 scp 传输文件 - 但由于我的服务器上已经有了大部分数据,我希望使用 rsync 只同步增量。
我试过:A$ rsync file -e 'ssh B ssh' C,只要我被提示提供用户:C 的密码,它就可以工作。但是,当我输入密码时,没有任何反应。路由器运行的是 Tomato v1.28,我无法将其设置为使用 ssh 配置文件使其能够登录到 C w/oa 密码。
关于如何使这项工作的任何想法?
我在 WinXP 上使用 Ccygwin(使用 bash shell)。我想将一个文件从我的本地主机 SCP 到远程机器——host2。但是,我只能通过 SSH 连接到中间机器——host1,然后从那里通过 SSH 连接到 host2。(注意,我无法从本地主机访问 host2)。
我以为隧道是我的答案,但是当我尝试建立隧道时
ssh -L 9999:localhost:9998 dalvarado@host1 'ssh -L 9998:localhost:1234 -N dalvarado@host2'
Run Code Online (Sandbox Code Playgroud)
但是在输入这个命令并按回车后,系统就挂了。设置隧道然后SCP文件的正确方法是什么?
谢谢, -
使用ProxyCommand客户端~/.ssh/config文件中的 SSH指令,可以通过充当跳转主机的不同 SSH 服务器连接到 SSH 服务器。
SSH服务器端有没有类似的配置?例如,当用户使用某个授权密钥登录到一台跳转机器时,我希望这个 SSH 连接被自动转发到另一台同样运行sshd.
我和远程服务器之间有一个 linux 跳转盒。我看过一些关于如何使用 scp 执行此操作的帖子(例如此处),但我使用的是 Windows 机器,因此情况略有不同。我想从我的本地 Windows 机器复制一个文件,通过一个服务器设置作为两者之间的网关。我应该能够通过中间服务器进行多跳。所以像这样:
A -> B -> C
我不想将文件复制到B,然后登录B并再次复制文件。我希望能够对多个文件运行 pscp 以将它们复制过来。
我需要将文件从我只能通过 SSH 访问的计算机复制到中间计算机。
Home -> server.com -> cluster.com
Run Code Online (Sandbox Code Playgroud)
我正在尝试从 cluster.com 复制到 home。我可以从家里 ssh 但不能到家里。连接
server.com-> cluster.com
Run Code Online (Sandbox Code Playgroud)
有一个 RSA 公钥,但服务器不允许
Home -> server RSA public key.
我试过了
home$ ssh server.com -L 2000:final:22 -N
Run Code Online (Sandbox Code Playgroud)
这给了
channel 2: open failed: administratively prohibited: open failed
Run Code Online (Sandbox Code Playgroud)
我也试过
ssh -fN -L 4567:cluster.com:22 server.com
Run Code Online (Sandbox Code Playgroud)
然后
ssh cluster.com -L 2000:final:22 -N
Run Code Online (Sandbox Code Playgroud)
这导致了。
channel 2: open failed: administratively prohibited: open failed
ssh_exchange_identification: Connection closed by remote host
Run Code Online (Sandbox Code Playgroud)
我从这些想法 通过中间宿主SCP文件 和 我必须SFTP将中间服务器?
但似乎无法使结果起作用,第一个链接中的其他一些示例我无法遵循,因此只尝试了我可以遵循的示例。我似乎永远无法让 ssh 做我想做的事。
任何帮助,将不胜感激。