scp foo user@remote:bar
工作正常
scp user@remote:foo bar
工作正常
scp user@remote:foo user@remote:bar
失败并显示错误:
Host key verification failed.
lost connection
我猜这是因为scp不允许远程复制(在两个不同的远程主机或同一个远程主机之间),因为将数据从point A
引导到point L
到{{}是低效的1}}而不是直接从point B
到point A
。
这是不正确的原因吗?为什么手册中的命令行使用说明没有记录它?或者只是我的Ubuntu发行版上的特定scp试图成为父亲?
答案 0 :(得分:52)
答案 1 :(得分:16)
有效。您的问题是user @ remote和user @ remote之间的SSH身份验证。 如果它是同一服务器上的同一用户并且您正在使用RSA身份验证,则必须将公钥(〜/ .ssh / id_rsa.pub)附加到用户自身的〜/ .ssh / authorized_keys中。
也要注意名称解析。在您的情况下,“远程”可以是对您的客户有意义的服务器名称,但从远程的角度来看是没有意义的。使用服务器IP(如果服务器不在nat之后)或在客户端和服务器计算机上的/ etc / hosts中设置公共服务器名称:“remote”应该可以从客户端和服务器计算机中解析。
答案 2 :(得分:2)
“请务必注意,在密码或键盘交互式身份验证模式下操作时,SCP无法用于从源远程复制到目标,因为这会向目标服务器显示目标服务器的身份验证凭据。” http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode
尝试使用基于密钥的身份验证将远程连接到远程scp。