在 SSH 到 EC2 实例时出现“权限被拒绝(公钥)”的错误。

31 浏览
0 Comments

在 SSH 到 EC2 实例时出现“权限被拒绝(公钥)”的错误。

这个问题已经有答案了:

\"UNPROTECTED PRIVATE KEY FILE!\" Error using SSH into Amazon EC2 Instance (AWS) [closed]

我在使用密钥对和SSH权限时遇到了问题,因为我不能再SSH到我的EC2实例中。

我执行了以下命令:

ssh -i /Users/Matt/Downloads/private-key.pem ec2-user@XX.XXX.XXX.XXX

记住,我只是在AWS管理控制台中创建了这个密钥对,它下载了.pem文件到我的下载文件夹。然后我在回答“yes”以继续连接之后得到了以下错误信息。

Failed to add the host to the list of known hosts 
(/Users/Matt/.ssh/known_hosts).
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/Matt/Downloads/private-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/Matt/Downloads/private-key.pem": bad permissions
Permission denied (publickey).

好吧,我已经花费了大部分时间来排除故障,并尝试检索.pub文件,导入那个作为密钥对等,但仍然会得到权限被拒绝(公钥)或请求不存在的实例关联密码的提示。我非常确定这必须是我自己的SSH权限的问题,但我很迷茫。

这是我在终端机上使用ssh -v后得到的结果。

 usage: ssh [-XXXXXXXXXXXXXXX] [-b bind_address] [-c cipher_spec]
       [-D [bind_address:]port] [-E log_file] [-e escape_char]
       [-F configfile] [-I pkcs11] [-i identity_file]
       [-L [bind_address:]port:host:hostport] [-l login_name] [-m 
 mac_spec]
       [-O ctl_cmd] [-o option] [-p port]
       [-Q cipher | cipher-auth | mac | kex | key]
       [-R [bind_address:]port:host:hostport] [-S ctl_path] [-W host:port]
       [-w local_tun[:remote_tun]] [user@]hostname [command]

任何帮助都将不胜感激。

admin 更改状态以发布 2023年5月21日
0
0 Comments

答案 - FYI - 是一旦您下载了 .pem 文件,只需运行以下命令,然后您就能够 SSH 连接到您的实例。

chmod 400 /Users/Matt/Downloads/private-key.pem

0