【问题标题】:EC2 after restart can not access via sshEC2重启后无法通过ssh访问
【发布时间】:2012-09-10 00:27:11
【问题描述】:

我通过 ssh 很好地连接了我的 ec2 实例,在添加新的 EBS 卷后通过 'sudo shutdown -r now' 重新启动了机器

然后我尝试使用以下命令访问:

ssh -v  -i primary_key.pem ubuntu@ec2-23-22-245-160.compute-1.amazonaws.com

如下图所示:

OpenSSH_5.6p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /Users/caveman/.ssh/config
debug1: Reading configuration data /etc/ssh_config
debug1: Applying options for *
debug1: Connecting to ec2-23-22-245-160.compute-1.amazonaws.com [23.22.245.160] port 22.
debug1: Connection established.
debug1: identity file primary_key.pem type -1
debug1: identity file primary_key.pem-cert type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.9p1 Debian-5ubuntu1
debug1: match: OpenSSH_5.9p1 Debian-5ubuntu1 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.6
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: Host 'ec2-23-22-245-160.compute-1.amazonaws.com' is known and matches the RSA host key.
debug1: Found key in /Users/caveman/.ssh/known_hosts:31
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: primary_key.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).

出了什么问题?我遗漏了什么?

【问题讨论】:

  • 您是否确认您可以通过 AWS 控制台登录?从那里您还可以确保更改主机名或密钥时没有发生任何奇怪的事情。
  • 是的,我已经检查过了,还导出了一个新的公钥,但它不起作用!
  • 我想多指点@azizunsal,从 .ssh 文件夹中删除您的 known_hosts 文件,然后尝试 ssh 到您的实例。

标签: ssh amazon-ec2 amazon-web-services


【解决方案1】:

这是正常的 Amazon EC2 行为。重启实例后,关联的公网IP(你的是ec2-23-22-245-160.compute-1.amazonaws.com)将会改变。

有两种方法可以通过 ssh 连接您的实例

  1. 登录您的 Amazon AWS 控制台并检查正在运行的实例,然后复制公共 DNS 并尝试使用 ssh 连接。 (ssk键是一样的)

  2. 如果您不希望实例的公共 IP 在每次重启/终止时都发生变化,请使用弹性 IP。与账户(而非实例)关联的弹性 Ip,因此您可以在所需的任何实例上分配弹性 Ip。

您可以通过 ssh ssh -v -i primary_key.pem ubuntu@&lt;ElasticIp&gt; 连接

【讨论】:

  • 你为什么这么认为?它正在建立连接“debug1:连接已建立。”
  • 这不是正常行为,“ec2-23-22-245-160.compute-1.amazonaws.com”也不是 ip。无论是从实例内部发出的还是通过 Web UI 或 ec2 CLI 命令完成的,此地址和实例 ip 在重启时都不会改变。 Ips 和地址只能在停止/启动周期中更改。
  • 抛开不准确的术语,这非常有用。我已经重新创建了我的 EC2 实例 3 次,试图弄清楚为什么我只能在第一次启动时 ssh 进入,而在重新启动后却不能(尽管我只是得到了一个超时,即使是冗长的也没有任何帮助)。我从来没有想过主人每次都在变化。 -_-
【解决方案2】:

我有类似的问题。这就是我所做的......!

ssh -i < .pem file> -vvv <server IP>

上面的命令将显示调试日志,在 ECDSA 密钥被接受后,你就进入了。

【讨论】:

    猜你喜欢
    • 2015-08-06
    • 2021-03-01
    • 1970-01-01
    • 2018-02-12
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 2013-06-06
    • 2017-11-20
    相关资源
    最近更新 更多