当前位置: 首页 > 知识库问答 >
问题:

无法通过 SSH 连接到 AWS EC2 实例

夏侯衡
2023-03-14

我无法通过 SSH 连接到我的 EC2 实例 - 我收到超时错误。我检查了安全组,以确保 SSH 流量正常工作。我检查了路由表,并确保它们已连接到互联网网关。一小时前,我能够通过SSH连接到实例中,但现在已经没有了。我正在通过腻子连接。在使用ec2-user@domain之前,我遇到了相同的超时连接问题,我只需在Putty的主机名字段中输入IP地址即可解决。在这一点上,我能够毫无问题地连接。然后,我创建了另一个 EC2 实例,现在我无法连接到任一实例。我在我的 Putty 配置中正确引用了 .ppk 文件。我尝试使用Mac连接并在那里复制.pem文件。还有什么我可以检查的吗?另外,为什么我不能像指示指示的那样在腻子的连接字段中键入ec2-user@domain。我的 AWS 环境是否有问题?

共有3个答案

谭伟
2023-03-14

斯宾塞的回答为我解决了这个问题。看起来就是这样,但有一个小小的更正:您需要编辑网络ACL上的出站规则。

我从头开始做的事情:

  • 创建VPC
  • 在该VPC中创建子网
  • 启动一个EC2实例
  • 关注:此链接,添加他们指定的所有内容
  • 更改Network ACL出站规则以包含Spencer指定的端口范围:1024-65535
  • 完成,现在可以连接了

请注意,如果不允许ICMP流量,您将无法ping实例。

朱锦
2023-03-14

此问题是帐户问题。我重新激活了我的旧帐户,但不知怎么的,它仍然在AWS中标记为“孤立”。我可以访问AWS控制台,但无法通过SSH访问任何内容。作为一个用户,你自己是无法看到这一点的。我不得不在AWS开发者论坛上发帖,在那里,一位AWS开发者能够看到我的账户被“隔离”,并代表我提交了一张罚单。现在,我可以通过SSH连接到EC2实例,没有任何问题。

百里文景
2023-03-14

诊断SSH问题的最佳方法是在同一个子网中使用同一个安全组启动一个新实例。如果这有效,那么问题与原始实例有关。

您收到超时错误这一事实表明您的SSH客户端无法访问该实例。实例并没有拒绝连接(例如由于密钥对),事实是无法访问实例。

要检查的事项:

  • 确认公共 IP 地址仍然是最新的(它可以在实例停止和启动时更改它)
  • 确认实例位于公有子网中,这意味着具有指向互联网网关的路由表的子网
  • 确认安全组允许来自您的 IP 地址的入站 SSH 流量(端口 22)(甚至 0.0.0.0/0 用于测试目的)
  • 将 NCL 保留为默认设置,除非您深入了解它们
  • 确保该实例是 Linux 实例(视窗未启用固态混合网络)
  • 尝试从其他网络(例如家庭,办公室,通过手机系留),因为某些公司网络会阻止SSH连接

作为另一个测试,您可能需要临时创建另一个VPC。使用VPC向导创建只有一个公用子网的VPC。启动一个实例并确认您能够通过SSH进入该实例。

 类似资料:
  • 在尝试应用terraform计划时,我得到一个不加起来的ssh错误: SSH:握手失败:SSH:密钥交换没有通用算法;提供的客户端:[curve25519-sha256@libssh.org ecdh-sha2-nistp256 ecdh-sha2-nistp384 ecdh-sha2-nistp521 diffie-hellman-group14-sha1 diffie-hellman-grou

  • 我有两台机器:machine foo()运行redis服务器,而machine bar()运行通过Jedis连接到foo的java应用程序。当给jedis提供地址时,一切都很好。 但是我不信任foo和bar之间的路由器,redis也不支持SSL。因此,我设置了一个从bar到foo:的ssh隧道 现在,从bar中,我可以直接在或通过隧道在成功地telnet到foo上的redis。对于jedis,如果

  • 我在AWS上设置了一个OpenVPN EC2实例,它有如下安全组 我下载了文件,可以像(也可以在导入配置后通过网络管理器)。一切都好。 现在我想这样做,我的其他EC2实例(托管实际应用程序)只能通过VPN访问,不能直接通过SSH连接。其中一个EC2实例的安全组如下所示 这里,我允许端口22上来自OVPN服务器的私有IPv4地址的入站流量。 但是,如果我连接到VPN并尝试通过SSH连接到应用EC2实

  • Jenkins master运行在Amazon实例上,从机设置在专用的Soyoustart机器上。工作正常,直到需要重做从属设置:重新安装OS,安装Java,向从属authorized_keys添加masters key,并删除/再次添加masters known_hosts中的从属。为从机设置新的凭据,并在Jenkins master中配置节点,但它无法连接到从机。 设置是相同的,并且一直在与其

  • 我在某个主机上运行PostgreSQL服务器。此服务器不对外开放(只允许来自的连接)。我可以通过ssh(使用公钥)以身份登录该主机: 然后我可以对特定用户运行查询。 我需要在这里输入用户的sudo密码。我无法以用户身份连接,也不知道他的密码。我也不能作为用户访问数据库。 现在为了简化开发,我想设置从本地机器到pgserver的ssh隧道: 问题是,虽然可以访问服务器,但他没有访问数据库的权限

  • 问题内容: 我想创建以下基础结构流: 使用Docker如何实现? 问题答案: 首先,您需要在要ssh- in的映像中安装SSH服务器。您可以对安装了ssh服务器的所有容器使用基础映像。然后,您只需要运行每个容器,即可将ssh端口(默认为22)映射到主机端口(镜像中的远程服务器)到一个端口。即: 然后,如果可以从外部访问主机的端口52022和53022,则可以使用主机的ip(远程服务器)通过ssh在