我从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文件什么权限?
我从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:
奇怪,但之前在这里描述的UI调整对我没有帮助。
但这解决了问题:
以管理员权限打开PowerShell使用您的密钥转到目录(使用cd命令)逐个输入命令
:
$path = ".\{your private key file name}" //for example "myKey"
然后键入以下命令删除显式权限:
icacls.exe $path /reset
然后将读取权限分配给当前用户:
icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
然后删除继承:
icacls.exe $path /inheritance:r
希望,会帮助某人
其他回答
当我试图使用公钥登录远程ftp服务器时,也遇到了类似的问题。为了解决这个问题,我完成了以下过程:
首先找到公钥的位置,因为当您尝试登录到ftp时,将使用此公钥。或者,您可以创建一个密钥并将该密钥的权限设置为600。确保您位于正确的位置并执行以下命令:
chmod 600 id_rsa
我将所有自己的证书和密钥保存在一个目录中,这适用于PuTTY之类的工具,但我从scp命令中收到了一条过于开放的错误消息。我发现Windows已经维护了一个C:\users\ACCOUNTNAME\.ssh文件夹,该文件夹具有存储ssh密钥的适当访问权限。只要您备份内容(Windows有时会在更新期间删除内容),或者在用户文件夹中为ssh密钥创建自己的文件夹,这将很好,因为只有您和管理员才能访问该父文件夹。
在更改Windows文件夹的访问权限时要非常小心。我这样做了,每天Windows都会扫描、读取和写入我的C:驱动器上的所有文件,这一过程会让电脑慢很多分钟。
仅适用于windows用户。转到文件属性-->安全-->高级
禁用继承属性将继承的权限转换为显式权限。删除除管理员之外的所有权限条目。
正如人们所说的,在Windows中,我只是将.pem文件放在C:\Users\[user]\.ssh\中,这就解决了问题。尽管您可以在bash或powershell提示符下执行chmod和其他命令行选项,但这些选项都不起作用。我没有改变rsa或其他任何东西。然后,在运行连接时,必须将pem文件的路径放在.ssh文件夹中:
ssh -i "C:\Users\[user]\.ssh\ubuntukp01.pem" ubuntu@ec[ipaddress].us-west-2.compute.amazonaws.com
除了公认的答案之外,如果您已经完成了所有建议的方法,并且在windows上使用了“wsl”ubuntu,那么可以在ssh命令中附加“sudo”,例如
sudo ssh-i xxx.pemxxxx@xxxx.compute-1.amazonaws.com