每次重启后ssh key file unprotected private key file错误

Posted

技术标签:

【中文标题】每次重启后ssh key file unprotected private key file错误【英文标题】:ssh key file unprotected private key file error every time after reboot 【发布时间】:2014-08-20 10:17:20 【问题描述】:

我有一个奇怪的问题,每次我重新启动我的 Mac 后 尝试使用 capistrano 进行部署时出现以下错误

“/Users/guy/.ssh/id_rsa.pub”的权限 0644 太开放了

我不记得上次我是如何解决这个问题的。我只记得这很烦人,而且还重启了计算机。

我对 id_rsa 文件的权限是 600 id_rsa.pub 是 644

如果我运行chmod 600 id_rsa

然后它会在使用 capistrano 部署时要求输入密码。 一个我不知道的密码...

任何帮助将不胜感激。谢谢

【问题讨论】:

【参考方案1】:

您需要确保您的 ssh 密钥的所有父文件夹对于组或其他人都是不可写的。

例如:755 或更严格(不是任何地方的 775)

那是为了:

/Users /Users/guy /Users/guy/.ssh

“Password dialog appears when SSH private key permissions are set to 0600”这个问题包含了很多好的建议,包括 OP 遵循的一个建议:

当我有一个id_rsa 但没有对应的id_rsa.pub 时,Mac OS X 不断弹出对话框并记住我钥匙串中的密码什么也没做。

cd ~/.ssh
ssh-keygen -y -f id_rsa > id_rsa.pub

为我生成了适当的公钥文件。

所以重新生成会有所帮助。

【讨论】:

您好,感谢您的回答!检查了所有这些文件夹。都是 755 :( 所以还是不行 @guyschaller 你的意思是你还看到“权限太开放”吗?还是您现在只看到被询问的密码? 仍然是权限太开放的错误。我不明白上次重启后发生这种情况,它突然又开始工作了..哈哈 @guyschaller 但是现在,即使重新启动后,它也不起作用,是吗?您最近使用了不同的 ssh 网址吗? 没有任何改变。我使用 capistrano 及其部署脚本。相同的服务器和相同的 git 存储库。感谢您的帮助!【参考方案2】:

最后只是用密码创建了一个新的 ssh 密钥,因为没有其他解决方案有效

https://help.github.com/articles/generating-ssh-keys

【讨论】:

确实,这是我在评论中提到的链接之一:我在回答中撅嘴以提高知名度。

以上是关于每次重启后ssh key file unprotected private key file错误的主要内容,如果未能解决你的问题,请参考以下文章

Mac sourcetree自动添加ssh key

如何设置 git bash 重启后我不必为 ssh 输入密码?

怎么用ssh生成key而不用每次都输入密码

我的vagrant 每次启动到 default: SSH auth method: private key 这一步就不动了

SSH打通密钥后仍需要密码

macos ssh LaunchDaemons 已禁用