无法将主机添加到已知主机列表 - 意外删除了我的 .ssh 文件夹中的所有文件
Posted
技术标签:
【中文标题】无法将主机添加到已知主机列表 - 意外删除了我的 .ssh 文件夹中的所有文件【英文标题】:Failed to add the host to the list of known hosts - Accidentally removed all files from my .ssh folder 【发布时间】:2013-10-08 19:31:10 【问题描述】:这里是菜鸟。我从/Users/fakename/.shh
文件夹中删除了所有文件。结果是现在我无法从 beanstalk git clone 存储库。当我尝试时,我收到错误Failed to add the host to the list of known hosts Permission denied (public key)
。我在通过 SSH 登录到 Amazon Web Services 上的 EC2 实例时也遇到了问题。
要恢复正常的步骤是什么?
编辑 1
我目前正在尝试生成新的 rsa 密钥对,但得到以下信息:
open /Users/fake-name/.ssh/id_rsa failed: Permission denied.
Saving the key failed: /Users/fake-name/.ssh/id_rsa.
【问题讨论】:
您是否在 .ssh 目录中的新文件上尝试过touch known_hosts
和 chmod 644?也许它不能自己创建文件。
asafreedman 是的,我确实做到了。它没有用。不过谢谢你的建议。
如果没有备份,需要生成新的密钥对
【参考方案1】:
您无法恢复已经丢失的密钥。
将 ~/.ssh 目录的所有权更改为您的用户
sudo chown fakename:fakename .ssh
并使用ssh-keygen
生成一对新的rsa密钥
关于恢复您的 ec2 实例,如果您的用户文件夹支持 EBS,请查看 this 上的答案,否则如果您是唯一的用户,您就是 screwed
【讨论】:
以上是关于无法将主机添加到已知主机列表 - 意外删除了我的 .ssh 文件夹中的所有文件的主要内容,如果未能解决你的问题,请参考以下文章
将 gitlab ssh 公钥添加到公司防火墙后面 dockerfile 中的已知主机(无端口 22)