我可以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