AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 568240
Accepted
SteadH
SteadH
Asked: 2014-01-19 10:51:24 +0800 CST2014-01-19 10:51:24 +0800 CST 2014-01-19 10:51:24 +0800 CST

Amazon EC2 - 重启后无 SSH,连接被拒绝

  • 772

我已经复制了两到三遍,所以我猜我正在做的事情有问题。

这是我的步骤:

  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 [email protected]
    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 中。查看该组的入站配置,允许从 0.0.0.0/0 进入端口 22,因此应该在任何地方。我知道我正在访问我的实例,这是正确的安全组,因为我无法 ping 实例。如果我为此安全组启用 ICMP,我的 ping 会突然通过。

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

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

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

ssh
  • 9 9 个回答
  • 92540 Views

9 个回答

  • Voted
  1. Jeromy French
    2014-05-29T07:36:27+08:002014-05-29T07:36:27+08:00

    来自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-x并Y保存并退出编辑的文件
    5. @Telegard 指出(在他的评论中)我们只修复了症状。我们可以通过注释掉“/etc/rc.local”文件中相关的3行来解决这个问题。所以:
      • cd /etc
      • sudo nano rc.local
      • 查找“PermitRootLogin ...”行并删除它们
      • ctrl-x并Y保存并退出编辑的文件
    6. 修复后,只需卸载卷,
    7. 通过进入 EC2 管理控制台,单击“弹性块存储”>“卷”,右键单击与您停止的实例关联的卷,进行分离,
    8. 重新连接到您的其他实例并
    9. 再次启动它。
    • 20
  2. Best Answer
    oromoiluig
    2014-07-13T19:51:44+08:002014-07-13T19:51:44+08:00

    今天在我的 ec2 实例上发生了类似的行为,并追查到这件事:当我这样做时 sudo reboot now ,机器挂起,我必须从 aws 管理控制台手动重新启动它,当我重新启动它时 sudo reboot 就好了。显然“现在”不是重新启动的有效选项,如此处指出的https://askubuntu.com/questions/397502/reboot-a-server-from-command-line

    想法?

    • 9
  3. ACV
    2016-02-11T13:50:21+08:002016-02-11T13:50:21+08:00

    运行 vanillasudo reboot命令后我遇到了同样的问题。我发现我能够通过使用 AWS 控制台完全停止(而不是重新启动)我的 AMI 然后重新启动它来解决这个问题。

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

    • 1
  4. Nathan Neulinger
    2014-01-20T21:27:49+08:002014-01-20T21:27:49+08:00

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

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

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

    • 0
  5. shaimoom
    2014-03-12T10:16:27+08:002014-03-12T10:16:27+08:00

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

    • 0
  6. Romain Pellerin-Rezzi
    2015-06-09T04:33:48+08:002015-06-09T04:33:48+08:00

    我遇到了类似的问题,运行sudo reboot后我的 EC2 Amazon Linux 实例无法访问。

    没有 SSH 访问,来自 Amazon 管理控制台的停止/启动/重启命令也没有给我任何结果。

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

    希望能帮助到你 ;)

    • -1
  7. Kris Khaira
    2014-06-13T04:14:57+08:002014-06-13T04:14:57+08:00

    我在sudo reboot now运行 Ubuntu 14.04 的 EC2 服务器上通过 SSH 完成后遇到了这个问题。使用 EC2 管理控制台再次重启后工作正常。

    • -2
  8. redcalx
    2015-05-22T14:27:39+08:002015-05-22T14:27:39+08:00

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

    • -2
  9. user3555158
    2015-08-09T15:32:12+08:002015-08-09T15:32:12+08:00

    如前所述,您可能弄乱了 /etc/fstab/

    我有这个问题。首先,您必须像警告消息所说的那样在 /dev/sda1 重新添加卷。

    然后我无法ssh。我意识到我必须添加我创建的另一个卷并修复了 ssh 问题。

    然后您可以登录并将 fstab 修复为原始状态。

    • -3

相关问题

  • 如何最好地设置 ssh 隧道以访问远程网络 (Linux)

  • SSH 和重定向

  • 通过 SSH 会话使用 NET USER 命令拒绝访问

  • SSH 服务器零日漏洞利用 - 保护自己的建议

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve