我从ssh收到以下错误:

Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.

我应该授予id_rsa文件什么权限?


当前回答

对于Windows 10,这是我发现的适合我的功能:

将密钥移动到Linux文件系统:mv~/.ssh/home/{用户名}设置该密钥的权限:chmod 700/home/{用户名}/.ssh/id_rsa创建指向密钥的符号链接:ln-s/home/{用户名}/.ssh~/.ssh

如果您将主目录(~)设置为存储在Windows而不是Linux中(在/mnt/vs/home/下),就会发生这种情况。

其他回答

适用于Windows 8.1的独立于区域设置的解决方案是:

chgrp 545 ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa

GID 545是一个特殊的ID,它总是指“用户”组,即使您的语言环境使用了不同的“用户”。

我从另一台mac迁移后也遇到了同样的问题。它被我的钥匙阻止连接github。

我重置了如下权限,现在运行良好。

chmod 700 ~/.ssh     # (drwx------)
cd ~/.ssh            
chmod 644 *.pub      # (-rw-r--r--)
chmod 600 id_rsa     # (-rw-------)

在我的案例中,问题是空白太多。

ssh -i mykey.pem  ubuntu@instace.eu-north-1.compute.amazonaws.com

but

ssh -i mykey.pem ubuntu@instace.eu-north-1.compute.amazonaws.com

工作正常。问题是空白被视为用户名的一部分。

除了公认的答案之外,如果您已经完成了所有建议的方法,并且在windows上使用了“wsl”ubuntu,那么可以在ssh命令中附加“sudo”,例如

sudo ssh-i xxx.pemxxxx@xxxx.compute-1.amazonaws.com

什么对我有用

chgrp用户文件夹chmod 600折叠