我在Amazon EC2上创建了一个新的linux实例,并下载了.pem文件以允许我SSH登录。

当我试图ssh与:

ssh -i myfile.pem <public dns>

我有:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'amazonec2.pem' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: amazonec2.pem
Permission denied (publickey).

在这篇文章之后,我尝试chmod +600 .pem文件,但现在当我ssh时,我只是得到

Permission denied (publickey).

我犯了什么小学生的错误? pem文件在我的主文件夹中(在macOS中)。它的权限是这样的:

-rw-------@   1 mattroberts  staff    1696 19 Nov 11:20 amazonec2.pem

当前回答

如果没有权限别忘了sudo。 Sudo SSH -i myfile。pem < < ssh_user > > @ < >

其他回答

chmod 400 yourkeyfile.pem 如果你的实例是Amazon linux,那么使用ssh -i yourkeyfile。pem ec2-user@ip 对于ubuntu SSH -i yourkeyfile。pem ubuntu@ip 为centos SSH -i yourkeyfile。pem centos@ip

好吧,唯一对我有用的是:

修改密钥的权限 Chmod 400 mykey.pem 请确保使用ec2-user和正确的ec2-99登录…地址。当您登录并看到您的实例被列出时,ec2-99地址在aws控制台的底部 SSH -i mykey。pem ec2 - user@ec2 - 99 - 99 - 99 - 99. -计算- 1. amazonaws.com

视窗 10 - PowerShell

icacls.exe .\Desktop\xxxx.pem /reset
icacls.exe .\Desktop\xxxx.pem /grant:r "$($env:USERNAME):(r)"
icacls.exe .\Desktop\xxxx.pem /inheritance:r

ssh -i .\Desktop\xxxx.pem ec2-user@54.2xx.xxx.x

macos与linux

chmod 400 ~/Desktop/xxxx.pem

ssh -i ~/Desktop/xxxx.pem ec2-user@54.2xx.xxx.x

.400通过使其仅为所有者只读来保护它。 你可以从ASW指南中找到答案。

chmod 400 yourPrivateKey.pem

看看这篇文章。您不使用公共DNS,而是使用表单

ssh -i your.pem root@ec2-XXX-XXX-XXX-XXX.z-2.compute-1.amazonaws.com

在AMI面板上可以看到名字的地方