AWS EC2 权限被拒绝(公钥)
Posted
技术标签:
【中文标题】AWS EC2 权限被拒绝(公钥)【英文标题】:AWS EC2 Permission Denied (public key) 【发布时间】:2017-03-24 00:42:43 【问题描述】:This answer 是专门为此类问题设计的,但我对它的数百个支持者还不是很清楚。
我把钥匙放在下载中。找到了,但是当我使用用户 ubunto 时,它似乎不被视为公钥。输出在这篇文章的底部。我使用sudo chmod 600 ~/downloads/mykey.pem
更改了权限,但结果相同。我使用sudo chmod 700 ~/downloads/mykey.pem
更改了权限,也得到了相同的结果。从this answer,我尝试了sudo chown -R me ~/downloads/mykey.pem
,然后是sudo chgrp -R 501 ~/downloads/mykey.pem
,其中uid=501(me)。
我以用户身份尝试了 ec-2 和 root,但没有成功。
root 为 ec-2
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
root 用户
跳过输出行
debug1: Trying private key: /Users/me/downloads/mykey.pem
debug1: Authentication succeeded (publickey).
认证成功,但连接关闭。
跳过输出行
debug1: channel 0: free: port listener, nchannels 2
debug1: channel 1: free: port listener, nchannels 1
Connection to ec2-[myPublicIP].compute-1.amazonaws.com closed.
Transferred: sent 3264, received 2456 bytes, in 10.3 seconds
Bytes per second: sent 316.6, received 238.2
debug1: Exit status 0
这里是这个问题的标题所指的使用用户 ubunto 的输出:
ssh -v -i ~/downloads/mykey.pem -L 60051:localhost:60051 ubunto@ec2-[mypublicIP].compute-1.amazonaws.com
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to ec2[mypublicIP].compute-1.amazonaws.com [[mypublicIP]] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/downloads/mykey.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/me/downloads/mykey.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.4 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to ec2-[mypublicIP].compute-1.amazonaws.com:22 as 'ubunto'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client chacha20-poly1305@openssh.com <implicit> none
debug1: kex: client->server chacha20-poly1305@openssh.com <implicit> none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:85gcFh6LySYszjod4WIx5wu7BUvKwL4M6EAcZkv0zGw
debug1: Host 'ec2[mypublicIP].compute-1.amazonaws.com' is known and matches the ECDSA host key.
debug1: Found key in /Users/me/.ssh/known_hosts:11
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/me/downloads/mykey.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
【问题讨论】:
【参考方案1】:您使用的是什么 AMI?
普通 Ubuntu AMI 中的默认用户是 ubuntu,而不是 ubunto。
除非您创建了一个设置 ubunto 用户的特殊 AMI,否则该用户将不存在于 AMI 上,因此无法进行身份验证。
【讨论】:
以上是关于AWS EC2 权限被拒绝(公钥)的主要内容,如果未能解决你的问题,请参考以下文章