【发布时间】: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,如下面的答案所述。但也要确保它归您当前的系统用户所有。
标签: linux amazon-web-services amazon-ec2 ssh