SSH:“'my_key.pub' 的权限 0644 太开放了。”

use*_*379 30 ssh permissions file-permissions ssh-keys

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

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

此致

nif*_*uce 23

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

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


小智 12

0644 不应该对公钥太开放,但对你的私钥太开放了。

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

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

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

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


Ken*_*ter 11

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

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