【问题标题】:Unable to connect to amazon EC2 instance via PuTTY无法通过 PuTTY 连接到亚马逊 EC2 实例
【发布时间】:2016-01-12 13:06:39
【问题描述】:

我通过referring to the documentation 在 Amazon Web Services (AWS) 中创建了一个新的 Amazon EC2 实例。我什至添加了这样的 SSH 规则:

Port: 22  
Type: SSH  
Source: <My IP address>/32

我下载了.pem 文件,使用PuTTYGEN 将其转换为.ppk 文件。然后我像这样在 PuTTY 中添加主机名:

ec2-user@<public_DNS>

我选择了default settings,将该 .ppk 文件添加到 PuTTY,登录后出现此错误:

即使trouble shooting link 也没有帮助我。
我也在系统日志中收到此错误:

如何通过 PuTTY 连接到我的 Amazon EC2 实例?

【问题讨论】:

  • 是 Ubuntu Linux 还是其他发行版?
  • 当您尝试这样的 telnet 时,您是否有任何响应:telnet 52.27.219.7 22 ?
  • @helloV: 是amazon linux HMV(Fedora)
  • @VolkanPaksoy:我收到此错误:Connecting To 52.27.219.7...Could not open connection to the host, on port 23: Connect failed。我删除了旧实例并使用公共 ip 52.27.219.7 创建了新实例。
  • @AjayKulkarni:端口必须是 22,而不是 23。如果仍然不起作用,请尝试暂时允许从 0.0.0.0/32 的任何地方访问。如果它有效,那么它与您的IP有关。确保您仍然拥有相同的外部 IP

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


【解决方案1】:

尝试连接到 Amazon EC2 实例时要检查的事项:

  • 安全组:确保安全组允许入站访问适当的 IP 地址范围(例如 0.0.0.0/0)的所需端口(例如 80、22)。这解决了大部分问题。
  • 公共 IP 地址:检查您是否为实例使用了正确的公共 IP 地址。如果实例停止并启动,它可能会收到一个新的公共 IP 地址(取决于它的配置方式)。
  • VPC 配置: 访问在 Virtual Private Cloud (VPC) 内启动的 EC2 实例需要:
    • 互联网网关
    • 路由表将子网连接到 Internet 网关
    • 允许直通流量的NACL(网络 ACLS)

如果您能够启动并连接到同一子网中的另一个实例,则 VPC 配置似乎是正确的。

要检查的另一件事是实例本身的实际操作系统配置。某些软件可能会影响配置,从而导致 Web 服务器/ssh 守护程序无法正常工作。当然,如果不连接到实例,这很难确定。

如果您从标准 Amazon Linux AMI 启动,ssh 将随时正常工作。 Web 服务器(端口 80)需要在实例上安装和配置软件,这是您的责任维护。

【讨论】:

  • Ajay,您的实例在公有子网中吗?如果没有,它将无法访问 Internet,这可以解释 cloud-init 配置失败和您无法登录的原因。查看子网的配置并确保它通过 Internet 网关进行路由。
  • AWS 帮助台回答:默认情况下不启用与 EC2 实例的网络连接。您需要在 AWS 管理控制台中对您的 VPC 进行一些配置更改。 aws.amazon.com/premiumsupport/knowledge-center/…
【解决方案2】:

阿杰,

试试这个。转到您的 VPC 仪表板。单击网络 ACL - 在关联的 acl 上,更新您的入站规则以允许端口 22 上的 SSH 访问。

【讨论】:

    【解决方案3】:

    转到附加到实例的 vpc,然后将条目添加到路由表 0.0.0.0/0 - 目的地 您的 VPC 的 Internet 网关 - 作为目标 保存并尝试连接。

    【讨论】:

      【解决方案4】:

      转到 VPC --> 安全组 --> 编辑入站规则 --> 制作 ssh 源 ip(任何地方),然后保存并尝试使用您的 putty-client 登录。最后回到您的安全组入站规则并将源 IP 从(任何地方)更改为(我的 ip)或您想要的任何自定义 IP,然后保存。

      注意:我假设您已成功存储并转换了您的私钥

      【讨论】:

      • 什么是“我的IP”?这可能会有所帮助,但一些细节会很好。
      • @stdunbar 在入站规则中添加一个角色作为 SSH 如果您还没有并从任何地方创建源然后保存它并尝试从 CLI 登录。然后出于安全原因返回并输入您自己的 IP 地址或自定义 IP。 MyIP 表示您当前的 IP。看截图i.ibb.co/b7w4BBk/889.jpg
      【解决方案5】:
      1. 安全组 - 这必须接受来自您的 IP 地址的流量
        例如:

        协议 - SSH、PORT-22、IPAddress - 允许某些 IP
        来自 0.0.0.0/0 的任何端口上的所有流量意味着来自任何 IP 地址的允许

      2. 路线表 - 确保您已启用传出交通路线
        前任: 目的地 - 0.0.0.0
        目标 - 互联网网关

      3. 使用或生成私钥

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-28
        • 2014-09-04
        • 2015-10-19
        • 2013-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多