SSH 到 EC2 实例期间权限被拒绝(公钥)[重复]
Posted
技术标签:
【中文标题】SSH 到 EC2 实例期间权限被拒绝(公钥)[重复]【英文标题】:Permission denied (public key) during SSH to EC2 instance [duplicate] 【发布时间】:2018-06-08 10:45:54 【问题描述】:我的密钥对和可能的 SSH 权限有问题,因为我无法再通过 SSH 连接到我的 EC2 实例。
我执行以下命令:
ssh -i /Users/Matt/Downloads/private-key.pem ec2-user@XX.XXX.XXX.XXX
请记住,我刚刚在 AWS 管理控制台中创建了这个密钥对,它将密钥 .pem 文件下载到我的下载文件中。然后我在回复“是”以继续连接后收到以下错误消息。
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 文件,将其作为密钥对导入等,但我仍然获得权限被拒绝(公钥)或提示输入非-existent 实例关联密码。我相当肯定这一定是我自己的 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]
任何帮助将不胜感激。
【问题讨论】:
SO 是针对编程问题,而不是关于使用或配置 Linux 的问题。 ServerFault,com, SuperUser.com 或 unix.stackexchange.com 将是解决此类问题的更好地方。 检查您的 pem 文件的权限。它应该是 400,如下面的答案所述。但也要确保它归您当前的系统用户所有。 【参考方案1】:答案 - 仅供参考 - 下载 .pem 文件后,您只需运行以下命令即可通过 SSH 连接到您的实例。
chmod 400 /Users/Matt/Downloads/private-key.pem
【讨论】:
以上是关于SSH 到 EC2 实例期间权限被拒绝(公钥)[重复]的主要内容,如果未能解决你的问题,请参考以下文章