我创建了一个 droplet(基本上是一个服务器)来托管 DigitalOcean 上的一个网站。我使用计算机上的 openssh 连接到它,它运行良好。然后我决定删除 ~/.ssh/known_hosts 文件中 3 个条目中的第 3 个(我不确定为什么这样做)。
现在,当我尝试使用它连接到 droplet 时,ssh username@ipaddress
它返回一个错误:username@ipaddress Permission denied (publickey)
。有没有办法获取 known_hosts 文件的历史记录?也许我需要将我的公钥复制粘贴到某处?
结论:删除服务器并重新开始
答案1
现在,当我尝试使用 ssh username@ipaddress 连接到 droplet 时,它会返回错误:username@ipaddress 权限被拒绝(公钥)。有没有办法获取 known_hosts 文件的历史记录?也许我需要将我的公钥复制粘贴到某处?
known_hosts
记录公众的历史服务器您的客户端已看到的密钥。它用于防止中间人攻击,因为这会导致远程公钥被更改。
因此,它用于向客户端验证服务器身份,而不是相反。如果您连接到未知主机,系统将提示您是否要信任该密钥。
known_hosts
当您尝试使用密钥对进行连接时,删除行并不是导致权限被拒绝的原因。运行ssh -vvv user@host
以获取有关连接被拒绝的原因的更多信息。