我从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文件什么权限?


当前回答

我用sudo成功了

sudo chmod 400 pem-file.pem
sudo ssh -i pem-file.pem username@X.X.X.X

其他回答

AFAIK值为:

700表示密钥文件所在的隐藏目录.ssh密钥文件id_rsa为600

在Windows 8.1中使用Cygwin时,需要运行以下命令:

chgrp Users ~/.ssh/id_rsa

然后可以应用此处发布的解决方案,400或600即可。

chmod 600 ~/.ssh/id_rsa

此处引用

另一个技巧是在下载文件夹中执行此操作。从AWS EC2实例下载私钥后,文件将位于该文件夹中,然后只需键入命令

ssh-keygen -y -f myprivateKey.pem > mypublicKey.pub

我将所有自己的证书和密钥保存在一个目录中,这适用于PuTTY之类的工具,但我从scp命令中收到了一条过于开放的错误消息。我发现Windows已经维护了一个C:\users\ACCOUNTNAME\.ssh文件夹,该文件夹具有存储ssh密钥的适当访问权限。只要您备份内容(Windows有时会在更新期间删除内容),或者在用户文件夹中为ssh密钥创建自己的文件夹,这将很好,因为只有您和管理员才能访问该父文件夹。

在更改Windows文件夹的访问权限时要非常小心。我这样做了,每天Windows都会扫描、读取和写入我的C:驱动器上的所有文件,这一过程会让电脑慢很多分钟。

当我试图使用公钥登录远程ftp服务器时,也遇到了类似的问题。为了解决这个问题,我完成了以下过程:

首先找到公钥的位置,因为当您尝试登录到ftp时,将使用此公钥。或者,您可以创建一个密钥并将该密钥的权限设置为600。确保您位于正确的位置并执行以下命令:

chmod 600 id_rsa