【问题标题】:AWS EC2 closed my port 22AWS EC2 关闭了我的 22 端口
【发布时间】:2020-09-19 16:57:37
【问题描述】:

我有一个问题,我尝试使用 SSH 连接到我的实例 EC2,但是说:IP 端口 22 关闭了连接

我正在检查所有配置,我正在使用带有 iTerm 的 Mac(也可以尝试使用终端)并且无法正常工作,看起来 AWS EC2 阻止了我的密钥 PEM。

我要求 AWS 支持,但他们说我的 IP 没有被阻止,他们没有发现任何问题...

我尝试的是打开我的端口 22,启用远程登录,将权限更改为我的 pem。

我还配置了我的入站连接,使用另一个实例的相同配置并且正在工作。

我正在寻找解决方案,但我没有解决方案,也许我可以创建另一个实例并将内容移动到另一个实例,但我不知道我是否可以这样做?

任何信息都会有帮助

【问题讨论】:

标签: amazon-web-services amazon-ec2


【解决方案1】:

检查用户名是否不正确。在 ubuntu 实例上应该是“ubuntu”,在亚马逊实例上应该是“ec2-user”。

【讨论】:

    【解决方案2】:

    您需要检查以下步骤才能从 Mac 连接 EC2:

    1. 首先下载实例创建时使用/创建的pem文件。

    2. 我们有一个好处是使用 Linux/Mac 而不是 windows,因为创建的 PEM 文件可以直接用于连接。 For windows we need to convert it into PPK file.

    3. 现在将文件的权限更改为读/写,并确保文件扩展名是 .pem 而不是 .txt

    4. 使用以下子步骤检查端口是否启用的 EC2 权限:

      1. 检查路由表是否允许端口 22 传入请求。
      2. 查看子网中 VPC 的网络访问控制列表,看看是否允许端口 22 的传入请求。
      3. 检查是否允许天气端口 22 请求的实例的安全组。

    默认情况下,所有传入请求都被 AWS 阻止。和 我们需要启用相应协议的端口以允许或 不是。

    如果您不知道,那么您只需将权限设置为ALL REQUEST to 0.0.0.0/0,这将能够连接您的EC2 to the internet 和您的ssh

    希望这会有所帮助。

    【讨论】:

    • 步骤 4.1 - 路由表不按端口操作。相反,应该检查您的 EC2 实例是否可以将 0.0.0.0/0 流量路由到 Internet 网关。通过查看与您的 EC2 实例所在的子网关联的路由表来检查这一点。(在 VPC 设置中)
    • @AlexHague 是的,在路由配置中没有设置端口的选项。我们可以在网络 ACL、子网组级别管理入站/出站规则的端口。
    • 是的,这就是我的观点。在步骤 4.1 中,您说“检查路由表是否允许端口 22 传入请求。”。我的观点是,您无法检查端口 22 传入请求的路由表,因为路由工作在端口信息不可用的较低网络层。
    • 是的@AlexHague 我的意思是一样的。路由工作在网络级别,端口启用/禁用是 OSI 模型的 TCP/UDP 级别。
    【解决方案3】:

    在解决这个问题很多天后,我找到了解决方案。您只需要停止实例并取消附加卷并重新附加它们,它就会像魅力一样工作。希望对你有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-03
      • 2019-06-01
      • 2015-12-09
      • 2017-02-21
      • 1970-01-01
      • 2020-02-23
      • 2022-01-01
      • 1970-01-01
      相关资源
      最近更新 更多