ubuntu - 无法通过 SSH 连接到 Amazon EC2 帐户。 (公钥错误)

标签 ubuntu amazon-ec2 amazon-web-services

我刚刚启动了一个 EC2 实例,但在启动 ssh 连接时遇到了困难。请注意,我有一个以前的 EC2 实例,它使用相同的 key 对 ssh 运行良好。我很困惑,因为我使用相同的 key 对启动了这个新的 EC2 实例。

下面是我试过的。关于这里可能发生的事情的任何专家建议?以及如何解决?

me@ubuntu:~/keys$ ssh -i mykey.pem ubuntu@1.2.3.4
The authenticity of host '1.2.3.4 (1.2.3.4)' can't be established.
RSA key fingerprint is aa:bb:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '1.2.3.4' (RSA) to the list of known hosts.
Permission denied (publickey).

me@ubuntu:~/keys$ chmod 400 mykey.pem
me@ubuntu:~/keys$ ssh -i mykey.pem ubuntu@1.2.3.4
Permission denied (publickey).

me@ubuntu:~/keys$ ssh -v -i mykey.pem ubuntu@1.2.3.4
OpenSSH_5.8p1 Debian-1ubuntu3, OpenSSL 0.9.8o 01 Jun 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 1.2.3.4 [1.2.3.4] port 22.
debug1: Connection established.
debug1: identity file mykey.pem type -1
debug1: identity file mykey.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-1ubuntu3
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA aa:bb:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc:cc
debug1: Host '1.2.3.4' is known and matches the RSA host key.
debug1: Found key in /home/me/.ssh/known_hosts:10
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
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: mykey.pem
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

最佳答案

您使用的 key 对一定是错误的/丢失了,您无法恢复私钥对,因为我曾经丢失过 .pem 文件并且必须重新创建和实例化。 它就像一个密码,出于安全原因亚马逊不保存私钥。

修复它。

进入aws管理控制台 1. 停止实例并创建相同的 AMI 镜像。 2. 使用创建的 AMI 镜像和附加到它的新 key 对启动一个新实例。 3.然后分配之前分配给旧实例的弹性IP。 4. 如果一切正常,移除旧实例。

然后将 XXXX.pem 文件保存在网上某处。

关于ubuntu - 无法通过 SSH 连接到 Amazon EC2 帐户。 (公钥错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10457695/

相关文章:

linux - Ping 超时问题

ubuntu - 无法安装 RStudio,无法安装 'libclang-dev'

amazon-ec2 - 获取 Amazon EC2 实例的启动时间戳

Mysql 和高 CPU IO 等待

amazon-web-services - 如何用aws cli或sdk更改API Gateway当前阶段的部署版本?

c++ - 虚拟机ubuntu中两个c++可执行文件(一个windows和另一个)之间的实时数据通信

java - Ant 找不到 javac,在 Ubuntu 上不会设置 JAVA_HOME

postgresql - Spark 不会在集群中分发提供的驱动程序

amazon-web-services - 即使没有 API key 作为授权机制,AWS 使用计划是否仍然有效?

bash - 来自 CRON 的 AWS SES sendmail 失败