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 权限被拒绝(公钥)的主要内容,如果未能解决你的问题,请参考以下文章

Amazon ec2 显示“权限被拒绝(公钥)”

尝试从其他计算机访问 ec2 时 ssh 权限被拒绝(公钥)

ssh - Amazon EC2 上的权限被拒绝(公钥)

SSH 到 EC2 实例期间权限被拒绝(公钥)[重复]

无法通过 SSH 连接到 EC2:权限被拒绝(公钥)

Amazon EC2 实例“权限被拒绝(公钥)”