我有一个公钥文件dummy.pem
,我将其复制到另一台需要访问我的 EC2 实例的计算机。但它说
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0664 for 'dymmy.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: dummy.pem
Permission denied (publickey).
那么为什么这个文件在我的新电脑上不能工作?
答案1
将文件权限更改为 400 (chmod 400 dymmy.pem)。消息明确指出文件权限太开放。
答案2
您还必须将~/.ssh
文件夹的权限设置为700
,否则它会再次抱怨(请参阅这里)。
chmod 600 ~/.ssh/dummy.pem
chmod 700 ~/.ssh
答案3
如果你不清楚该消息,很可能你对 Linux 文件权限不太清楚,所以我建议你从此开始
基本上,这意味着任何人都可以读取此文件,这意味着任何访问您系统的人都可以复制您的文件。在这种情况下,连接到服务器。
正如前面答案中所解释的那样,另一种方法可能更容易理解,但有点长,方法是这样做:chmod go-r dummy.pem(删除对 g(group)和 o(other)的读取权限)和 chmod uw dummy.pem(删除对 u(user)的写入权限)
$ touch test
$ chmod 644 test
$ ls -lha test
-rw-r--r-- 1 user group 0 avril 21 10:54 test
$ chmod go-r test
$ ls -lha test
-rw------- 1 user group 0 avril 21 10:54 test
$ chmod u-w test
$ ls -lha test
-r-------- 1 user group 0 avril 21 10:54 test