为什么“连接到服务器”实用程序中的主机密钥验证失败?

为什么“连接到服务器”实用程序中的主机密钥验证失败?

我可以ssh从终端使用它,但无法从“连接到服务器..”实用程序使用它。它在对话框中显示如下错误:

Cannot display location "sftp://[email protected]:PORT/
"Host key verification failed"

为什么这样?

从终端使用以下命令我能够访问服务器:

ubuntu# ssh -p 2222 [email protected]

Description:    Ubuntu 10.04.4 LTS
Release:    10.04
Codename:   lucid

为什么主机密钥验证失败?

答案1

有一个名为 known_hosts 的文件,通常在用户目录中~/.ssh/- 其中包含 ssh 和其他服务用于验证您连接到的远程计算机的密钥。如果特定服务器的密钥已更新(例如在操作系统更新期间),则将在该服务器上生成该服务器的新密钥。由于这与您计算机上存储的密钥相冲突,ssh 将询问您是否仍然信任该计算机。

第一次连接到计算机时,ssh 会询问您是否信任该密钥。如果信任,则该密钥将复制到该用户的 known_hosts 文件中。

查看 known_hosts 文件并删除远程计算机的条目。现在,当您连接时,系统应该会要求您接受新密钥。通过移动文件,您可能会触发为您导入的第一个密钥创建新的 known_hosts 文件,并且会丢失您可能已连接的其他计算机的记录。

答案2

您还可以使用此命令仅删除有问题的键:

ssh-keygen -f "~/.ssh/known_hosts" -R hostname_or_ip_address

相关内容