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


21

为什么0644-rw-r--r--得打开一个SSH密钥?我也找不到.ssh目录(0700)或主目录(0731)上的任何错误权限。

顺便说一句,当通过测试键的释义时出现此错误 ssh-keygen -y -f my_key.pub

最好的祝福

Answers:


7

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

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


11

0644 不应对公用密钥太开放,而对私人密钥太开放。

您的私钥应获得许可,0600而公钥应获得许可0644

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

对于您的主目录,不应将写许可权授予组和其他人。

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


绝对不要遵循这些指示。这不是您应该做的。这还将重置所有主目录权限。您只应修改.ssh文件夹和id_rsa文件本身,而不是整个主目录!
niftylettuce

9

您需要运行的唯一命令是chmod 600 ~/.ssh/id_rsa。而已。

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


@TwistyImpersonator更新
niftylettuce

0

这些答案,都是有效的,但在运行任何之前chmod来修复权限,只要确保你IdentityFile在(一个或多个)~/.ssh/config做参考你的私钥。新手可能会误解了这一点,.pub而是转而使用公钥(带有扩展名),从而导致相同的错误(因为公钥文件权限对于私钥而言太开放了)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.