Amazon EC2-重新启动后没有SSH,连接被拒绝


17

我已经复制了两次或三遍,所以我猜我的操作有问题。

这是我的步骤:

  1. 使用以下命令通过EC2管理控制台启动新实例:Ubuntu Server 13.10-ami-ace67f9c(64位)
  2. 使用默认启动(使用我现有的密钥对)
  3. 实例启动。我可以使用Putty或Mac终端通过SSH进行连接。成功!
  4. 我重新启动实例
  5. 10分钟后,当实例应该备份并运行时,我的终端连接显示:

    stead:~ stead$ ssh -v -i Dropbox/SteadCloud3.pem ubuntu@54.201.200.208
    OpenSSH_5.6p1, Op`enSSL 0.9.8y 5 Feb 2013
    debug1: Reading configuration data /etc/ssh_config
    debug1: Applying options for *
    debug1: Connecting to 54.201.200.208 [54.201.200.208] port 22.
    debug1: connect to address 54.201.200.208 port 22: Connection refused
    ssh: connect to host 54.201.200.208 port 22: Connection refused
    stead:~ stead$
    

很好,我知道公共IP地址可以更改,因此在检查EC2管理控制台时,我确认它是相同的。奇怪的。只是为了好玩,我尝试使用公共DNS主机名ec2-54-201-200-208.us-west-2.compute.amazonaws.com进行连接。没有骰子,结果相同。

即使使用EC2控制台中内置的“通过Java SSH客户端连接”,我也会获得“拒绝连接”。

我检查了安全组。该实例位于组launch-wizard-4中。查看该组的入站配置,端口22允许从0.0.0.0/0输入,因此该端口应位于任何地方。我知道我要打我的实例,这是正确的安全组,因为我无法ping实例。如果我为此安全组启用ICMP,我的ping突然就会通过。

我在互联网上发现了其他一些带有类似错误消息的帖子,但是通过调整防火墙设置似乎可以轻松解决大多数帖子。我尝试了其中的一些,但是没有运气。

我想我缺少一个简单的EC2步骤。感谢您提供的任何帮助,我们很乐意提供更多信息或进一步测试!

更新-这是来自Amazon EC2控制台的我的系统日志:http : //pastebin.com/4M5pwGRt


2
我建议您在AWS控制台上查看系统日志,以查看它在重启时是否显示异常,您可能需要确保在系统重启时以及您尝试ssh时(在控制台上)两项可访问性检查均通过仅)
APZ 2014年

2
第一次连接后您什么也没做?不会弄乱IP表或sshd配置文件?因为您好像要断开连接,所以端口22不可用。
typositoire

/etc/fstab重新启动之前您是否惹上麻烦?
David Levesque 2014年

重启前无需更改iptables或fstab。我运行的第一个命令是“立即重启”,我将在上面通过AWS系统日志进行更新
SteadH 2014年

而且,状态检查都很好-2/2!我希望我的设置有一些简单的错误...也许不是!
SteadH 2014年

Answers:


6

今天在我的ec2实例上发生了类似的行为,并对此进行了跟踪:当我 sudo reboot now 挂起计算机时,挂起时必须重新启动并从aws管理控制台手动重新启动它 sudo reboot 。显然,“现在”不是重新启动的有效选项,如此处/ubuntu/397502/reboot-a-server-from-command-line所述

有什么想法吗?


太棒了!我今天在我的实例上尝试了此方法,并成功了。谢谢!
SteadH 2014年

另外,该链接很有趣,因为我一直将sudo重新启动用作我的Ubuntu Server重新启动方法。奇怪!
SteadH 2014年

@oromoiluig,如果不能ssh机器,如何重启?
Vaibhav Kumar

1
从AWS控制台@VaibhavKumar:关闭实例,然后再次打开。
oromoiluig '18

17

有关此主题的AWS开发者论坛上的文章

尝试停止损坏的实例,分离EBS卷,并将其作为辅助卷附加到另一个实例。将损坏的卷安装到另一个实例上的某个位置后,检查/ etc / sshd_config文件(在底部附近)。我有一些RHEL实例,其中Yum皱缩了sshd_config在底部插入重复的行,这导致sshd在启动时由于语法错误而失败。

修复它之后,只需卸载该卷,分离,重新连接到另一个实例,然后再次将其重新备份。

让我们通过AWS文档的链接对此进行分解:

  1. 通过进入EC2管理控制台,单击“弹性块存储”>“卷”,然后右键单击与您停止的实例相关联的卷,来停止损坏的实例并分离EBS(根)卷。
  2. 在与损坏的实例相同的区域和相同的操作系统中启动一个新实例然后将原始EBS根卷作为辅助卷附加到新实例。下面第4步中的命令假定您将卷安装到名为“ data”的文件夹中。
  3. 一旦你安装在另一实例碎卷的地方
  4. 通过发出以下命令,检查“ / etc / sshd_config”文件中是否存在重复项:
    • cd /etc/ssh
    • sudo nano sshd_config
    • ctrl-v 一堆时间到达文件的底部
    • ctrl-k 底部的所有行均提到“ PermitRootLogin without-password”和“ UseDNS no”
    • ctrl-xY保存并退出编辑的文件
  5. @Telegard 指出(在他的评论中)我们仅修复了症状。我们可以修复事业由“的/etc/rc.local”文件注释掉3条相关线路。所以:
    • cd /etc
    • sudo nano rc.local
    • 查找“ PermitRootLogin ...”行并将其删除
    • ctrl-xY保存并退出编辑的文件
  6. 修复后,只需卸下卷
  7. 进入EC2管理控制台,单击“弹性块存储”>“卷”,然后右键单击与您停止的实例相关联的卷,以进行分离,
  8. 重新连接到您的其他实例,
  9. 再次发射它

这个问题也可能是相关的:serverfault.com/q/325140/153062
Jeromy French

stackoverflow.com/a/21563478/1430996上发现的相同问题和类似的修复建议该评论特别有用。
Jeromy French

谢谢你!我怀疑这可以解决问题,这是获取SSH日志的好方法。谢谢!
SteadH 2014年

这行得通,谢谢。虽然我的问题(相同的症状:“连接被拒绝”)是由于对dir / var / empty / sshd的所有权错误。它应该是root:root。为什么会更改:不知道,我们甚至从未关闭过它。那好吧。
cucu8

@JeromyFrench我有同样的问题。我遵循了此过程,但是没有得到““ PermitRootLogin without password”“。它具有“ PermitRootLogin =禁止密码”。我该怎么办?
Vaibhav Kumar

0

这可能对情况没有任何帮助,但是我已经看到在某些情况下EC2的重新启动被“卡住”。如果在VM上执行“重置”,然后获取系统日志,则可能会更改行为。确保日志来自第二次引导而不是第一次引导-它们往往会在更新时延迟。

要检查的另一件事是确保实例在IP上响应。您似乎在上面拒绝连接,这听起来像实例已启动,但SSH未运行或已防火墙,但请确保实例已完全重新启动。

您还可以尝试从测试系统打开所有端口,然后查看“ nmap”显示的内容-实例上是否有其他服务在响应。


-1

右键单击实例名称,然后单击“更改安全组”。确保已选中允许您从任何地方访问端口22的任何人的安全组,并将其应用于此实例。


-2

sudo reboot now在运行Ubuntu 14.04的EC2服务器上通过SSH进行操作后,出现了此问题。使用EC2管理控制台重新启动后,工作正常。


-2

就我而言,我将设置一个安全组以仅允许来自我的IP的端口22连接。几天后,我的ISP更改了我的IP地址,因此安全组需要更新。


-2

我有一个类似的问题,运行sudo reboot之后,我的EC2 Amazon Linux实例不再可用。

没有SSH访问权限,Amazon管理控制台中的stop / start / reboot命令也没有给我任何结果。

我终于能够通过Amazon控制台创建映像来重新启动实例。映像创建过程似乎可以修复实例状态。

希望能帮助到你 ;)


-2

运行香草sudo reboot命令后,我遇到了同样的问题。我发现我可以通过使用AWS控制台完全停止(而不重新引导)AMI并重新启动它来解决此问题。

无论出于何种原因,从AWS控制台重新启动AMI(例如单击重新启动操作而不是停止然后再启动实例)无法解决问题。


-3

如前所述,您可能将/ etc / fstab /

我有这个问题。首先,您必须按照警告消息中的说明在/ dev / sda1处重新添加该卷。

然后我不能ssh。我意识到我必须添加创建的其他卷,并解决了ssh问题。

然后,您可以登录并将fstab修复回原始。


无需编辑fsab,只需重新启动命令。
SteadH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.