SSH:“‘my_key.pub’ 的权限 0644 太开放。”

SSH:“‘my_key.pub’ 的权限 0644 太开放。”

为什么0644ie对于 SSH 密钥来说太开放了?另外,我在目录 ( ) 或主目录 ( )-rw-r--r--上找不到任何错误权限。.ssh07000731

顺便说一句,我在通过以下方式测试密钥的释义时收到此错误ssh-keygen -y -f my_key.pub

此致

答案1

您可能在错误的文件上运行 ssh-keygen ssh-keygen -y私人的密钥文件。“.pub”文件通常包含民众密钥。您可能有一个名为的文件my_key,没有任何扩展名,并且它应该是模式 0600。该文件应该包含私钥。

直接回答您的问题,SSH 密钥通常用于允许无需密码即可连接到远程服务器。拥有私钥将允许某人在任何接受密钥的系统上登录您的帐户。ssh-keygen 和其他 ssh 实用程序要求私钥文件具有受限权限,因为这些文件很敏感并且需要保持安全。

答案2

您需要运行的唯一命令是chmod 600 ~/.ssh/id_rsa。就是这样。

这会改变文件的权限,以便所有者(您)可以读取和写入它,这将删除您收到的错误消息。

答案3

0644对于公钥来说不应该太开放,但对于私钥来说却太开放了。

你的私钥应该有权限,0600而你的公钥也有权限0644

顺便说一句,您还应该注意.ssh文件夹的权限。它应该具有权限0700,以便只有您(所有者)可以控制该文件夹。

至于您的主目录,不应授予组和其他人写入权限。

运行chmod go-w /home/username应该可以解决这个问题。

答案4

上述答案是有效的,但在运行任何chmod修复权限之前,请确保您的IdentityFile(s) 确实~/.ssh/config引用了您的私钥。新手可能会误解这一点并引用公钥(带.pub扩展名),从而导致相同的错误(因为公钥文件权限对于私钥来说太开放了)。

相关内容