我正在关注答案如何使用不同的公钥在服务器之间进行 scp?但我收到连接错误:
# start the agent and capture its environment in the current shell
eval `ssh-agent`
# add keys needed to connect to the different accounts
ssh-add /path/to/first/ssh/key
ssh-add /path/to/second/ssh/key
# do the copying
$ scp -r user@server1:/images user@server2:/images
ssh: connect to host server2 port 22: Connection timed out
lost connection
如果我使用我的机器作为显式中介,它就会起作用:
$ scp -r user@server1:/images /images
$ scp -r /images user@server2:/images
关于为什么它无法一步完成复制的任何线索?
答案1
远程到远程scp
实际上是通过使用 登录到第一台机器ssh
并scp
从那里运行来工作的。因此,基本上,server1 无法连接到 server2(可能是由于防火墙规则)。
您可以添加-3
选项以通过本地计算机路由副本,从而避免上述问题。 OpenSSH 6.5 的文档至少警告您不会获得进度表。
(注意:scp
没有用于进行远程到远程的传输;一侧需要是本地的。所以这是一个有点新的功能。)