SSH“主机密钥验证失败”

Ted*_*ddy 4 server ssh

我应该在我自己的计算机上的服务器上放置一个文件ssh作为学校作业。

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

登录服务器:

teddy@rymd-srv:~$ ssh-keygen -R teddy@elev.rymdgymnasiet.com
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@rymd-srv:~$ scp -r teddy@85.226.40.57:/home/teddy/Pictures/filetransfer.jpeg 
teddy@elev.rymdgymnasiet.com:/home/teddy
teddy@85.226.40.57's password:
Host key verification failed.
lost connection
Run Code Online (Sandbox Code Playgroud)

在我自己的电脑上登录:

teddy@TeddysDator:~$ ssh-keygen -R teddy@elev.rymdgymnasiet.com 
/home/teddy/.ssh/known_hosts updated.
Original contents retained as /home/teddy/.ssh/known_hosts.old
teddy@TeddysDator:~$ scp -r teddy@85.226.40.57:/home/teddy/Pictures/filetransfer.jpeg 
teddy@elev.rymdgymnasiet.com:/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.
teddy@85.226.40.57's password:
Host key verification failed.
lost connection
Run Code Online (Sandbox Code Playgroud)

小智 15

这可能是默认使用 ECDSA 时旧版本 SSH 如何处理主机验证的问题。

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

ssh-keyscan ssh-server.example.com | tee -a ~/.ssh/known_hosts
Run Code Online (Sandbox Code Playgroud)


roa*_*dmr 8

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

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

确保的最佳方法是联系服务器管理员并告诉他错误消息,询问他是否知道密钥更改。如果他什么都不知道,您可能要谨慎连接到服务器。

通常你在这里做的是:

ssh-keygen -R server.name
Run Code Online (Sandbox Code Playgroud)

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

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

ssh -o 'StrictHostKeyChecking=no' ssh-server.example.com
Run Code Online (Sandbox Code Playgroud)

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

在这里阅读一些关于 ssh 主机密钥检查的好信息:

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