21 为什么0644即-rw-r--r--得打开一个SSH密钥?我也找不到.ssh目录(0700)或主目录(0731)上的任何错误权限。 顺便说一句,当通过测试键的释义时出现此错误 ssh-keygen -y -f my_key.pub 最好的祝福 ssh permissions file-permissions ssh-keys — 用户名 source
7 您可能在错误的文件上运行ssh-keygen。ssh-keygen -y对私钥文件进行操作。“ .pub”文件通常包含公共密钥。您可能在那里有一个名为的文件my_key,没有任何扩展名,它的模式应该为0600。该文件应包含私钥。 为了直接回答您的问题,SSH密钥通常用于允许无需密码即可连接到远程服务器。拥有私钥将允许某人在接受该密钥的任何系统上登录您的帐户。ssh-keygen和其他ssh实用程序要求私钥文件具有受限的权限,因为这些文件敏感并且需要保持安全性。 — 肯斯特 source
11 0644 不应对公用密钥太开放,而对私人密钥太开放。 您的私钥应获得许可,0600而公钥应获得许可0644。 顺便说一句,您还应该注意.ssh文件夹的权限。它应该具有权限0700,以便只有您(所有者)可以控制该文件夹。 对于您的主目录,不应将写许可权授予组和其他人。 运行chmod go-w /home/username应解决该问题。 — 帕尔克斯 source 绝对不要遵循这些指示。这不是您应该做的。这还将重置所有主目录权限。您只应修改.ssh文件夹和id_rsa文件本身,而不是整个主目录! — niftylettuce
9 您需要运行的唯一命令是chmod 600 ~/.ssh/id_rsa。而已。 这将更改文件的权限,以便所有者(您)可以读写该文件,这将删除您收到的错误消息。 — 西兰花 source @TwistyImpersonator更新 — niftylettuce
0 这些答案,都是有效的,但在运行任何之前chmod来修复权限,只要确保你IdentityFile在(一个或多个)~/.ssh/config做参考你的私钥。新手可能会误解了这一点,.pub而是转而使用公钥(带有扩展名),从而导致相同的错误(因为公钥文件权限对于私钥而言太开放了)。 — 爪哇 source
.ssh
文件夹和id_rsa
文件本身,而不是整个主目录!