这个问题在这里已有答案:
我的密钥对和可能的SSH权限都有问题,因为我无法再通过SSH连接到我的EC2实例。
我执行以下命令:
ssh -i /Users/Matt/Downloads/private-key.pem [email protected]
请记住,我刚刚在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文件,将其作为密钥对导入等等,但仍然得到权限被拒绝(公钥)或被提示输入不存在的实例相关密码。我相当肯定这一定是我自己的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]
任何帮助将是真诚的感谢。
答案 - 仅供参考 - 一旦你下载了你的.pem文件,你就可以运行以下命令而不是你能够SSH到你的实例。
chmod 400 /Users/Matt/Downloads/private-key.pem