Answers:
当两台服务器之间没有连接时,我经常使用的东西
scp -3 user@server1:/path/to/file user@server2:/path/to/file
资源
-3两个远程主机之间的副本通过本地主机传输。如果没有此选项,数据将直接在两个远程主机之间复制。请注意,此选项禁用进度条。
假设您对两者都有良好的连接,则它不会太慢。
-r
如果要复制目录,请不要忘记添加标志。
是的,这是可能的,但前提是server1.com
可以server2.com
使用该名称才能到达。如果没有,您可能会收到一条消息:ssh: connect to host server2 port 22: Connection refused
该man
页面scp
明确指出它在网络上的主机之间复制,并且:
也允许在两个远程主机之间复制。
你应该做的(一次)什么是ssh
对username@server1.com
,并从那里ssh
来username@server2.com
。是的,回答您将收到的真实性问题,以消除主机密钥验证消息,同时执行scp
您可能必须使用以下命令启用转发代理:
scp -o "ForwardAgent yes" -r usrname@server1.com:~/data/* usrname@server2.com:~/data/
但是请确保您意识到其中的危险(man ssh_config
)
ssh
从server1.com
到server2.com
,并且确实回答了问题并成功。然后,我返回本地计算机,再次执行此操作,并得到server2.com
的密码提示。但是它在以下方面失败了:Permission denied (publickey,keyboard-interactive). lost connection
server1
到server2
不需要提供密码。您可能需要设置“ ForwardAgent yes”。
首先,您需要检查i是否可以ssh到server2,而不会出现任何错误,如果遇到相同的错误,请打开文件~/.ssh/known_hosts
并搜索server2键并将其删除。
然后检查是否能够通过主机名ping服务器
如果没有,请按如下所述编辑两个服务器主机文件
#vi /etc/hosts
server1 192.186.x.x
server2 192.186.x.xx
:wq ---> to save
完成此cd后,将其复制到要复制到服务器的文件的位置2
该scp file_name user@server2:/path_to_the_directory
--->您可以使用IP而不是主机名,你可以提-R
复制目录。
检查~/.ssh/known_hosts
两个服务器的记录是否正确
还检查server1是否~/.ssh/known_hosts
对server2 有正确的记录