Amazon web services 为什么可以';我是否在公共子网中SSH到此AWS NAT实例?

Amazon web services 为什么可以';我是否在公共子网中SSH到此AWS NAT实例?,amazon-web-services,ssh,amazon-ec2,amazon-vpc,Amazon Web Services,Ssh,Amazon Ec2,Amazon Vpc,出于实验目的,我正试图在一个VPC内设置一个AWS EC2,该VPC既有公共子网,也有私有子网,如本教程所述 但是,当我在步骤2中尝试SSH时,它失败了(操作超时。连接失败): 以及: 有人能解释一下我做错了什么吗?为什么我不能按照教程中的描述连接到此NAT EC2?看起来应该很简单有几个因素阻止您在NAT实例中执行SSH-请检查以下项目 Internet网关已连接并添加到子网的路由表(或主路由表)中 检查NAT的安全组是否对本地本地开放(为简单起见,请尝试使用0.0.0.0/0) Is弹性IP

出于实验目的,我正试图在一个VPC内设置一个AWS EC2,该VPC既有公共子网,也有私有子网,如本教程所述

但是,当我在步骤2中尝试SSH时,它失败了(操作超时。连接失败):

以及:


有人能解释一下我做错了什么吗?为什么我不能按照教程中的描述连接到此NAT EC2?看起来应该很简单

有几个因素阻止您在NAT实例中执行SSH-请检查以下项目

  • Internet网关已连接并添加到子网的路由表(或主路由表)中

  • 检查NAT的安全组是否对本地本地开放(为简单起见,请尝试使用0.0.0.0/0)

  • Is弹性IP连接到NAT实例,以建立与/通过的通信。纳特


  • 请验证您的安全组是否正确并报告。是。问题是NAT上没有入站SSH路由。添加一个允许我成功SSH。我遵循的教程忽略了这一关键步骤。是的。问题是NAT上没有入站SSH路由。添加一个允许我成功SSH。我遵循的教程忽略了这一关键步骤。我不知道发生了什么,但我无法使用ssh connect(带Teraterm)登录我的NAT实例,即使我使用0.0.0.0/0的源代码打开了NAT安全组中的端口22
    $ ssh -i MyKeyFile.pem ec2-user@XXX.XXX.XXX.XXX
    ssh: connect to host XXX.XXX.XXX.XXX port 22: Operation timed out
    
    $ telnet XXX.XXX.XXX.XXX 22
    Trying XXX.XXX.XXX.XXX...
    telnet: connect to address XXX.XXX.XXX.XXX: Operation timed out
    telnet: Unable to connect to remote host