我想将文件从 server-a 复制到 server-d,但我只能从 server-b 访问 server-d,然后再到 server-c。server-a只能访问server-b,server-b只能访问server-c,server-c只能访问server-d..
目前我这样做:
server-a> scp /tmp/file.txt user@server-b
server-a> ssh user@server-b
server-b> scp /tmp/file.txt user@server-c
server-b> ssh user@server-c
server-c> scp /tmp/file.txt user@server-d
Run Code Online (Sandbox Code Playgroud)
这可能是通过 5,6,7,.. 服务器
我可以这样做吗?
您需要ProxyCommand
,请参阅手册页。下面是一个例子:
Host serverB
HostName serverA.com
User someuser
ProxyCommand ssh -q serverB -W %h:%p # -W is supported by a recent OpenSSH
# or for older versions or other implementations
# ProxyCommand ssh -q serverB nc %h %p
Run Code Online (Sandbox Code Playgroud)
这允许您键入ssh serverB
并连接到 serverA,然后再连接到 serverB。这可以很容易地扩展到与主机一起使用。这将与scp
它为以同样的方式ssh
。