权限被拒绝(公钥)Amazon Linux aws

use*_*jhg 5 ssh authentication amazon-ec2

我有两个实例在我的 aws 上运行。我对他们两个都有相同的密钥对。我长时间使用这两个实例。但是今天,如果我运行此命令,我在尝试通过终端登录时在一个实例上遇到错误。

ssh -i mypem.pem ec2-user@52.xx.xxx.xxx
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试使用相同的pem文件登录到其他实例。它有效,我可以成功登录。

我已经尝试了所有的解决方案

但没有什么对我有用

如果我做

ssh -i mypem.pem ec2-user@52.xx.xxx.xxx -v
Run Code Online (Sandbox Code Playgroud)

结果是:

OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Connecting to 52.xx.xxx.xxx [52.xx.xxx.xxx] port 22.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file mypem.pem type -1
debug1: key_load_public: No such file or directory
debug1: identity file mypem.pem-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.4
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.4
debug1: match: OpenSSH_7.4 pat OpenSSH* compat 0x04000000
debug1: Authenticating to 52.xx.xxx.xxx as 'ec2-user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: mykeyhere
debug1: Host '52.xx.xxx.xxx' is known and matches the ECDSA host key.
debug1: Found key in /Users/myusername/.ssh/known_hosts:6
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_EXT_INFO received
debug1: kex_input_ext_info: server-sig-algs=<rsa-sha2-256,rsa-sha2-512>
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/myusername/.ssh/mypem.pem
debug1: Authentications that can continue: publickey
debug1: Trying private key: mypem.pem
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).
Run Code Online (Sandbox Code Playgroud)

我试过的

chmod 400 mypem.pem
Run Code Online (Sandbox Code Playgroud)

我也试过这个

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west 2.compute.amazonaws.com
Run Code Online (Sandbox Code Playgroud)

明白啦

Please login as the user "ec2-user" rather than the user "root"
Run Code Online (Sandbox Code Playgroud)

然后我做了这个

sudo ssh -i amazonec2.pem ec2-xxx-xxx-xxx-xxx.us-west-2.compute.amazonaws.com -l ec2-user
Run Code Online (Sandbox Code Playgroud)

我有

权限被拒绝(公钥)

如果我尝试使用相同的密钥登录到其他实例。我可以成功登录。请帮助这里实际出了什么问题

我实例上的安全组是这样的:

小智 1

如果您没有运行 Amazon Linux,则必须更改ec2-user特定操作系统的用户名 ( )。

就我而言,我使用的是 Ubuntu 服务器,并使用ubuntu@xxx.xx.xxx.xxx.