通过几台服务器的两台服务器之间的 SCP 文件

Nir*_*Nir 4 ssh scp proxy

我想将文件从 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,.. 服务器

我可以这样做吗?

Mar*_*rco 5

您需要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