2012-03-20 67 views
23

scp foo [email protected]:bar工作正常SCP主机密钥验证失败了遥控器远程复制

scp [email protected]:foo bar工作正常

scp [email protected]:foo [email protected]:bar失败,错误:

Host key verification failed. 
lost connection 

我猜这是因为SCP远程不允许远程复制(在两个不同的远程主机或同一个远程主机之间),因为将数据从point A传送到point Lpoint B而不是直接从point Apoint B

这是为什么它不起作用的正确理由吗?本手册中的命令行使用说明如何记录它?还是仅仅是我的Ubuntu发行版上的特定scp正试图成为父亲?

+0

偏离主题;属于[su]或[unix.se] – 2012-03-20 22:49:31

+2

流量是直接的。您不需要点A将点L指向点B,但将点A指向点B.您可能遇到的所有问题都是关于每个点之间的SSH验证。 – dAm2K 2012-03-21 00:05:39

回答

14

它的工作原理。你的问题是user @ remote和user @ remote之间的SSH认证。 如果它是同一台服务器上的同一个用户,并且您正在使用RSA身份验证,则必须将公钥(〜/ .ssh/id_rsa.pub)附加到用户本身的〜/ .ssh/authorized_keys中。

也要注意名称解析。在你的情况下,“远程”可以是一个服务器名称,这对你的客户来说是有意义的,但是从远程的角度来看是没有意义的。使用服务器IP(如果服务器不在NAT后面)或在您的客户端和服务器计算机上的/ etc/hosts中设置公用服务器名称:“remote”应该可以从客户端和服务器计算机上解析。 “

+0

谢谢 - 我现在明白了。它是相同的用户和相同的远程服务器。 – necromancer 2012-03-21 00:54:07

+0

不适合我。相同的情况(相同的用户和相同的远程服务器)。该密钥被附加并且即时使用服务器IP。从本地到远程和后勤工作都很好。 – user1338413 2013-01-04 09:49:19

+0

尝试使用ssh -vvv来启用一些调试消息并尝试检查它为什么不能正常工作 – dAm2K 2013-01-04 19:43:56

2

”重要的是要注意,在密码或键盘交互式身份验证模式下操作SCP时,SCP不能用于从源远程复制到目标,因为这会向目标服务器显示目标服务器的身份验证凭据。 http://en.wikipedia.org/wiki/Secure_copy#Remote_to_remote_mode

尝试使用基于密钥的身份验证来将远程到远程scp。

+0

我使用基于密钥的身份验证,答案是为远程设备提供凭据以与远程对话(根据以前的答案) – necromancer 2012-03-21 00:53:25

+1

COOL查看维基百科达到了多少粒度信息等级! – dAm2K 2012-03-21 01:08:25

+1

同意。维基百科正在成为* nix手册页的绝佳补充 – Worldcrafter 2012-03-21 13:12:04

42

退房的选项:

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

此选项变为可用OpenSSH 5.7

+0

如果你没有5.7+,并且你不想让host1直接进入host2或者你想要rsync功能,请尝试''dir ='mktemp -d' && cd $ dir && rsync -avz user1 @ host1:〜/ source。 && rsync -avz。user2 @ host2:〜/ dest && rm -rvf $ dir'' – KCD 2014-07-24 22:38:19

+2

这让我的生活变得更加轻松! – user1943442 2015-01-07 16:19:37

+0

这适用于user1 @ remote1和user2 @ remote2之间的scp。 – tjmehta 2015-09-28 20:12:54

相关问题