ssh-add 错误:“权限太开放”

Posted

技术标签:

【中文标题】ssh-add 错误:“权限太开放”【英文标题】:ssh-add error: "Permissions are too open" 【发布时间】:2013-11-27 03:44:17 【问题描述】:

尝试加载我的密钥时出现此错误

ssh-add ~/.ssh
Permissions 0755 for '/home/starkers/.ssh' are too open.

请注意,.ssh 目录的权限过于开放,而不是实际的密钥。

修改所有权不会改变任何事情:

chmod 755 ~/.ssh
ssh-add ~/.ssh
Permissions 0755 for '/home/starkers/.ssh' are too open.

问题是,当我创建新密钥时,我需要写入这个目录,那么它是关于什么的呢?

【问题讨论】:

只是一个小提示,chmod 不会修改所有权(即chown)。 哦,很公平!还是说0755太宽容了。坦率地说,不知道它在说什么。在我的本地机器上不要这些垃圾。我需要读写它,结束。 ssh "permisssions are too open" error 的可能重复项 不是。为什么我说Note that the permissions are too open for the .ssh directory, not an actual key. 如果是600,生成新密钥时无法写入目录。生成密钥后锁定目录的想法是什么?我没有在我的本地机器上经历过这种情况,但这确实是有道理的。 【参考方案1】:

您的.ssh 目录应具有0700 权限。不是 0600(太严格)或 0755(太宽松)。做:

chmod -R 700 ~/.ssh

使用-R 递归更改其中所有文件的权限。

【讨论】:

【参考方案2】:

除了你之外,没有人可以拿到你的钥匙,甚至不能阅读它们或发现它们的名字。这是基本的合理安全性,它意味着对组或世界没有任何权限。

首先应该拥有该目录。然后,您应该使用 600 或 700(最好是后者,见下文)。

来自ssh 手册页(但使用斜体):

~/.ssh/此目录是所有用户特定配置和身份验证信息的默认位置。没有一般要求将此目录的全部内容保密,但建议的权限为用户读/写/执行,其他人无法访问。

【讨论】:

以上是关于ssh-add 错误:“权限太开放”的主要内容,如果未能解决你的问题,请参考以下文章

当文件没有所需权限时抛出异常

OpenSSH WIndows 10 - key_load_private:权限被拒绝

Win10 OpenSssh:ssh-add 为密钥文件提供错误“无效格式”

mac使用ssh出现permission denied(publickey)

如何在 Windows 上运行 ssh-add?

Mingw-w64:ssh-add 工作直到 git fetch(连接到代理时出错:文件描述符错误)