【问题标题】:Cannot connect to EC2 - ssh: connect to host port 22: Connection refused无法连接到 EC2 - ssh:连接到主机端口 22:连接被拒绝
【发布时间】:2017-12-01 19:27:39
【问题描述】:

我目前在海外,我正在尝试通过 ssh 连接到我的 EC2 实例,但我收到错误 ssh: connect to host ec2-34-207-64-42.compute-1.amazonaws.com port 22: Connection refused

我打开我的 vpn 到纽约,但仍然没有任何变化。无法连接到此实例的原因可能是什么?

实例仍在运行并为网站提供服务,但我无法通过 ssh 连接。这是我住的 wifi 还是实例本身的问题?

【问题讨论】:

  • 入站配置中是否允许使用端口 22?
  • 是的,刚刚检查过

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


【解决方案1】:

我的 EC2 连接超时调试步骤

  1. 仔细检查端口 22 的安全组访问权限

  2. 确保您有当前的 IP 并更新以确保它没有更改

  3. 确保您尝试使用的密钥对与连接到您的 EC2 的密钥对相对应

  4. 确保本地计算机上的密钥对已正确修改。我相信是chmod 600 keypair.pemcheck this

  5. 确保您位于主机上的 .ssh 文件夹中或正确引用它:HOME/.ssh/key.pem

  6. 最后一个奇怪的完全空洞的支票:

    • 重启实例
    • 分配弹性 IP 并访问它
    • 从使用 IP 切换到公共 DNS
    • 在user@ip:末尾添加:

不过,完全神秘的 6 调试集。这是“我的代码不起作用 - 不知道为什么。我的代码起作用 - 不知道为什么”的一部分。类别

注意: 如果您在连接到 VPN 时访问您的 EC2,请注意您的 IP 发生了变化!因此,请在您的 EC2 安全组上启用来自您 VPN 的 IP 的传入流量。

【讨论】:

  • 谢谢!我的家庭 ip 是端口 22 上唯一允许使用的 ip
  • 你明白了!是的,这是我访问 EC2 时的清单。
  • 如果这回答了您的问题,请用复选标记将其标记以关闭帖子。谢谢!
  • 谢谢!就我而言,我的 dns 已更改,因为我有一个免费层的实例
  • 你的意思是IP?免费套餐应该与此无关。如果您没有将弹性 IP 附加到 EC2 - IP/生成的主机名将在您重新启动实例时更改。无论您拥有什么级别,都会发生这种情况。免费套餐只是意味着您可以免费拥有一些东西。一切(据我所知)都是相同的。但很高兴我能帮上忙!
【解决方案2】:

只需检查您在使用 VPN 时获得的公共 ip 是否配置为打开端口 22 的 SG 入站条目中的源地址。

连接到 VPN 后,您可以使用 https://www.google.co.in/search?q=whats+my+ip 检查您的 IP。

【讨论】:

  • 感谢帮助
【解决方案3】:
  1. 在 AWS 中,导航到服务 > EC2。
  2. 在资源下,选择正在运行的实例。
  3. 突出显示您的实例并单击连接。
  4. 在终端中,cd 进入包含您的密钥的目录,然后复制“访问您的实例”下第 3 步中的命令。
  5. 在终端中,运行:ssh -vvv -i [MyEC2Key].pem ec2-user@xx.xx.xx.xx(xx.xx.xx.xx = 您的 EC2 公共 IP) 或在步骤 4 下运行示例中的命令。

【讨论】:

    【解决方案4】:

    在新 VPC 上创建一些实例后遇到了同样的问题。 (如果 Internet SSH 在此解决方案之前有效,则可能不适合您)

    创建新 VPC 时,请确保创建一个互联网网关(VPC -> 互联网网关)

    还要确保您的 VPC 的路由表(VPC -> 路由表)具有将所有 IP(或仅您的 IP)重定向到您刚刚创建的互联网网关的条目。

    【讨论】:

      【解决方案5】:

      对我来说,这是因为: 不是 ec2-user@xx.xx.xx.xx 但是这 =>>> ubuntu@xx.xx.xx.xx

      观看 EC2 实例的图像!

      【讨论】:

        【解决方案6】:

        我尝试了这个答案和其他几个答案中的所有内容,也在一些 aws youtube 视频中。在尝试解决它的几个会话中浪费了大约五个小时,现在终于..

        我收到与 OP 完全相同的错误消息。我什至在更近的数据中心租了另一个 EC2 实例二十分钟,看看是不是这样。

        然后我想可能是我住的宾馆的路由器或互联网提供商。已经注意到一些非主流新闻网站被屏蔽了——就是这样!

        您可以检查路由器是否阻塞了端口 22:

        https://superuser.com/questions/1336054/how-to-detect-if-a-network-is-blocking-outgoing-ports

        cardamom@neptune $ time nmap -p 22 portquiz.net
        Starting Nmap 7.70 ( https://nmap.org ) at 2021-02-03 20:43 CET
        Nmap scan report for portquiz.net (27.39.379.385)
        Host is up (0.028s latency).
        rDNS record for 27.39.379.385: ec2-27-39-379-385.eu-west-3.compute.amazonaws.com
        
        PORT   STATE  SERVICE
        22/tcp closed ssh
        
        Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds
        
        real    0m0,212s
        user    0m0,034s
        sys 0m0,017s
        

        然后,为什么有人想要阻止 ssh 端口 22 的问题在这里详细解决:

        https://serverfault.com/questions/25545/why-block-port-22-outbound

        【讨论】:

          【解决方案7】:

          代替

          ssh -i "key.pem" ubuntu@ec2-161-smth.com
          

          使用

          ssh -i "key.pem" ec2-user@ec2-161-smth.com
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2015-02-01
            • 2018-09-21
            • 1970-01-01
            • 1970-01-01
            • 2013-06-24
            • 2020-02-13
            • 2018-10-15
            • 2017-01-19
            相关资源
            最近更新 更多