SSH“主机密钥验证失败”

SSH“主机密钥验证失败”

我应该将我自己电脑上的文件上传到服务器上作为ssh学校作业。

这是一个缓慢的过程,但现在我陷入了困境。我在谷歌上搜索过,但没有找到任何有帮助的东西。由于我完全是初学者,这可能是我的一些愚蠢的错误,所以请帮助我(说明很简单,不过我可能会做错;))。下面是我卡住的地方的终端文本,我尝试过在我的计算机上登录,也尝试过在服务器上登录。

登录服务器:

teddy@rymd-srv:~$ ssh-keygen -R [email protected]
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@rymd-srv:~$ scp -r [email protected]:/home/teddy/Pictures/filetransfer.jpeg 
[email protected]:/home/teddy
[email protected]'s password:
Host key verification failed.
lost connection

在我自己的电脑上登录:

teddy@TeddysDator:~$ ssh-keygen -R [email protected] 
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@TeddysDator:~$ scp -r [email protected]:/home/teddy/Pictures/filetransfer.jpeg 
[email protected]:/home/teddy
The authenticity of host '85.226.40.57 (85.226.40.57)' can't be established.
ECDSA key fingerprint is ef:9c:4c:41:3c:9d:b1:40:05:67:30:34:e8:d3:ab:c6.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '85.226.40.57' (ECDSA) to the list of known hosts.
[email protected]'s password:
Host key verification failed.
lost connection

答案1

当默认使用 ECDSA 时,旧版本的 SSH 处理主机验证的方式可能存在问题。

如果您相信服务器和网络没有受到损害,只需将主机的 RSA 密钥添加到您的 known_hosts 文件中:

ssh-keyscan ssh-server.example.com | tee -a ~/.ssh/known_hosts

答案2

这通常表明您的 known_hosts 文件中的主机密钥与服务器提供给您的主机密钥不匹配。

这可能意味着两件事:服务器的密钥确实发生了改变(例如,如果他们重新安装了它),或者确实存在“中间人”攻击。

确保安全的最佳方法是联系服务器管理员并告知他们错误消息,询问他们是否知道此密钥更改。如果他们一无所知,您可能需要谨慎连接服务器。

通常你在这里做的是:

ssh-keygen -R server.name

删除旧条目。我注意到您已经这样做了,所以我不太清楚这里发生了什么。但是您这样做的事实表明您已被告知要这样做,这也可能表明服务器的密钥确实会定期更改。

可以尝试的一件事是完全禁用主机密钥检查(不推荐,但如果您正在从服务器到其自身进行连接,我猜它应该是相对安全的):

ssh -o 'StrictHostKeyChecking=no' ssh-server.example.com

请注意,如果此方法有效,请不要将其设为默认设置,因为这非常不安全;相反,请让服务器管理员知道这一点,因为这可能是服务器及其关键信息的问题。

请阅读此处了解有关 ssh 主机密钥检查的一些有用信息:

http://www.symantec.com/connect/articles/ssh-host-key-protection

答案3

您也可以尝试选择其他主机密钥算法:

ssh -o HostKeyAlgorithms=ssh-dss -l teddy 85.226.40.57

如果您想使这个每个主机永久存在,您可以向〜/ .ssh / config添加一条语句:

Host 85.226.40.57
    HostKeyAlgorithms ssh-dss

上面的例子是 DSA 主机密钥,使用 ssh-rsa 选择 RSA 主机密钥。

相关内容