我从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文件什么权限?
在密钥上,0x00
权限要求有一个例外。如果该密钥归属于 root 并且所属组有用户,则可以将其设置为 0440
,那个组中的任何用户都可以使用该密钥。
我认为这适用于集合 0xx0
中的任何权限,但我没有测试每个版本的所有组合。我在 CentOS 6 上使用 5.3p1-84
版本尝试了 0660
,并且组不是用户的主组而是次要组,它可以正常工作。
通常不会为个人密钥执行此操作,而是针对用于自动化的密钥,在您不希望应用程序能够干扰密钥的情况下使用。
类似规则适用于 .ssh
目录限制。
这是对我有效的方法(在 Mac 上)
sudo chmod 600 path_to_your_key.pem
那么:ssh -i path_to_your_key user@server_ip
希望它能帮助
最简单的答案是只需键入:sudo ssh -i keyfile.pem <user>@ip
您不能使用 Bash on Ubuntu on Windows 上的 chmod 修改 Windows 文件系统上的文件权限。您需要将私钥复制到 WSL 主目录(~),然后在那里处理。
另一方面,ssh 不应与 sudo 一起使用。使用 sudo 的原因是它现在可能正在以 root 执行,这不是正确的方法,也是巨大的安全风险,因为允许除 600/400 权限之外的任何权限都会破坏使用 SSH 密钥的目的,从而危及密钥的安全。
最好的方法是将文件复制到 $HOME/.ssh
:
cp keyfile.pem ~/.ssh
然后对其执行 sudo chmod 400 keyfile.pem
。
最后执行 ssh -i keyfile.pem <user>@ip
。
只需使用以下代码:
sudo chmod 600 [Location of Private Key]/[Name of Private Key]
sudo chmod 700 [Location of Folder Containing Private Key]/[Name of Folder Conataining Private Key]
sudo ssh -v -i key.pem ubuntu@instance.re-region-1.compute.amazonaws.com
对于Windows :
奇怪的是,之前在这里描述的UI调整没有帮助我解决问题。
但是这个方法解决了该问题:
:
$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
希望能对某些人有所帮助
我在从另一台Mac迁移后遇到了同样的问题。 这导致我的密钥无法连接Github。
我按照以下方式重置权限,现在它可以正常工作了。
chmod 700 ~/.ssh # (drwx------)
cd ~/.ssh
chmod 644 *.pub # (-rw-r--r--)
chmod 600 id_rsa # (-rw-------)
'.../...pub' 的权限为 0644 太开放了。 要求您的私钥文件不可被其他人访问。 此私钥将被忽略。
- demokritos我(使用Windows的Ubuntu子系统)看到的错误信息如下:
Permissions 0555 for 'key.pem' are too open
使用 chmod 400 后,发现使用 root 作为默认用户是原因。
使用以下命令进行更改:
ubuntu config --default-user your_username
我成功尝试过的方法:
将文件夹所属群组改为“Users”
将文件夹权限设置为600
chmod go-r id_rsa
。g
代表group
,o
代表others
,r
表示read
。不再出现奇怪的代码,意义才是王道。 - AlikElzin-kilaka