从一台服务器到另一台服务器的scp?

Sib*_*ing 43 scp

我试图绕过我的本地计算机将文件从一台服务器直接复制到另一台服务器。

我做了

scp -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
Password: 
Host key verification failed.
lost connection
Run Code Online (Sandbox Code Playgroud)

这甚至可能吗?我该如何解决?

exu*_*sum 71

当两台服务器之间无法连接时,我经常使用的东西

scp -3 user@server1:/path/to/file user@server2:/path/to/file
Run Code Online (Sandbox Code Playgroud)

来源

-3 两个远程主机之间的副本通过本地主机传输。如果没有此选项,数据将直接在两个远程主机之间复制。请注意,此选项会禁用进度表。

假设你与两者都有良好的连接,它不会太慢。


Ant*_*hon 18

是的,这是可能的,但前提是server1.com可以server2.com使用该名称进行访问。如果没有,您可能会收到一条消息:ssh: connect to host server2 port 22: Connection refused

man对页scp中明确指出主机之间它复制在网络上和:

也允许在两个远程主机之间进行复制。

你应该做的(一次)什么是sshusername@server1.com,并从那里sshusername@server2.com。使用 yes 回答您将得到的真实性问题,以在执行以下操作时摆脱主机密钥验证消息scp

您可能必须通过以下方式启用转发代理:

scp -o "ForwardAgent yes" -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
Run Code Online (Sandbox Code Playgroud)

但请确保您意识到 ( man ssh_config)


Rom*_*nov 0

检查~/.ssh/known_hosts两台服务器是否都有正确的记录

还检查 server1 是否有 server2 的正确~/.ssh/known_hosts记录