amazon-web-services - 无法通过 SSH 连接到 ec2 实例(浏览器和 cli)

标签 amazon-web-services amazon-ec2

我已经创建了一个 EC2 实例。

我已检查安全组、子网 - 入站流量以及公共(public) IP 和 DNS 条目,但仍然无法远程连接。从本地计算机访问它以及尝试使用 AWS 在线 ssh 内容方法连接到它时,我不断收到以下错误:

Error: Operation timed out

我也尝试过 ping 服务器,但也失败。

您能帮我远程连接 EC2 实例吗?

我正在分享实例描述命令的输出,以便您可以帮助我。此实例或配置有什么问题?

描述命令输出:

    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "AmiLaunchIndex": 0,
                    "ImageId": "ami-0d6621c01e8c2de2c",
                    "InstanceId": "i-0ba33f0cdd3e555fd",
                    "InstanceType": "t2.micro",
                    "KeyName": "jump-key",
                    "LaunchTime": "2020-04-10T05:04:23.000Z",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "us-west-2a",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-10-0-1-250.us-west-2.compute.internal",
                    "PrivateIpAddress": "10.0.1.250",
                    "ProductCodes": [],
                    "PublicDnsName": "ec2-18-236-76-162.us-west-2.compute.amazonaws.com",
                    "PublicIpAddress": "18.236.76.162",
                    "State": {
                        "Code": 16,
                        "Name": "running"
                    },
                    "StateTransitionReason": "",
                    "SubnetId": "subnet-00532a34e49b7f98f",
                    "VpcId": "vpc-01cd162cf4afcb926",
                    "Architecture": "x86_64",
                    "BlockDeviceMappings": [
                        {
                            "DeviceName": "/dev/xvda",
                            "Ebs": {
                                "AttachTime": "2020-04-10T05:04:24.000Z",
                                "DeleteOnTermination": true,
                                "Status": "attached",
                                "VolumeId": "vol-00907015e8b1b54a4"
                            }
                        }
                    ],
                    "ClientToken": "",
                    "EbsOptimized": false,
                    "EnaSupport": true,
                    "Hypervisor": "xen",
                    "NetworkInterfaces": [
                        {
                            "Association": {
                                "IpOwnerId": "amazon",
                                "PublicDnsName": "ec2-18-236-76-162.us-west-2.compute.amazonaws.com",
                                "PublicIp": "18.236.76.162"
                            },
                            "Attachment": {
                                "AttachTime": "2020-04-10T05:04:23.000Z",
                                "AttachmentId": "eni-attach-0f18a9b5254184a11",
                                "DeleteOnTermination": true,
                                "DeviceIndex": 0,
                                "Status": "attached"
                            },
                            "Description": "Primary network interface",
                            "Groups": [
                                {
                                    "GroupName": "default",
                                    "GroupId": "sg-0efd8084b6328f481"
                                }
                            ],
                            "Ipv6Addresses": [],
                            "MacAddress": "06:09:8f:cf:5d:e8",
                            "NetworkInterfaceId": "eni-048052fc271148c16",
                            "OwnerId": "811886212371",
                            "PrivateDnsName": "ip-10-0-1-250.us-west-2.compute.internal",
                            "PrivateIpAddress": "10.0.1.250",
                            "PrivateIpAddresses": [
                                {
                                    "Association": {
                                        "IpOwnerId": "amazon",
                                        "PublicDnsName": "ec2-18-236-76-162.us-west-2.compute.amazonaws.com",
                                        "PublicIp": "18.236.76.162"
                                    },
                                    "Primary": true,
                                    "PrivateDnsName": "ip-10-0-1-250.us-west-2.compute.internal",
                                    "PrivateIpAddress": "10.0.1.250"
                                }
                            ],
                            "SourceDestCheck": true,
                            "Status": "in-use",
                            "SubnetId": "subnet-00532a34e49b7f98f",
                            "VpcId": "vpc-01cd162cf4afcb926",
                            "InterfaceType": "interface"
                        }
                    ],
                    "RootDeviceName": "/dev/xvda",
                    "RootDeviceType": "ebs",
                    "SecurityGroups": [
                        {
                            "GroupName": "default",
                            "GroupId": "sg-0efd8084b6328f481"
                        }
                    ],
                    "SourceDestCheck": true,
                    "VirtualizationType": "hvm",
                    "CpuOptions": {
                        "CoreCount": 1,
                        "ThreadsPerCore": 1
                    },
                    "CapacityReservationSpecification": {
                        "CapacityReservationPreference": "open"
                    },
                    "HibernationOptions": {
                        "Configured": false
                    },
                    "MetadataOptions": {
                        "State": "applied",
                        "HttpTokens": "optional",
                        "HttpPutResponseHopLimit": 1,
                        "HttpEndpoint": "enabled"
                    }
                }
            ],
            "OwnerId": "811886212371",
            "ReservationId": "r-0e1cc9591c1fd51ff"
        }
    ]
}

Subnet settings

Security Group Inbound Settings

最佳答案

要检查的内容是:

  • EC2 实例正在运行 Linux(您的 AMI 是 Amazon Linux 2,看起来不错)
  • 该实例位于公有子网中,定义为其路由表指向互联网网关(未知)
  • 安全组允许端口 22(未知)上的入站访问
  • 默认网络 ACL(看起来不错!)
  • 通过公共(public) IP 地址连接(看起来不错!)
  • 您的网络允许出站 SSH 访问(通过尝试替代网络进行测试,例如工作网络、家庭网络或通过手机连接的网络)

连接超时表示没有网络连接。

在 80% 的情况下,原因是安全组(您没有在问题中显示)。

如果做不到这一点,我会说该实例可能位于私有(private)子网中。

Amazon VPC 网络默认为私有(private)网络。要将它们连接到互联网,您需要连接互联网网关。然后,为了使子网成为“公共(public)”子网,它需要一个指向互联网网关的路由表配置。或者,您可以使用已配置公有子网的默认 VPC

如果您的默认 VPC 不存在,可以通过创建默认 VPC(在“操作”菜单中)重新创建它。


更新:以下是在新 VPC 中启动公开可用的 Amazon EC2 实例的步骤(只是为了避免现有 VPC 出现任何潜在问题)。

  • 转至VPC 管理控制台
  • 点击启动 VPC 向导
  • 默认情况下将创建“具有单个公有子网的 VPC”,因此请点击选择
  • 为其指定一个名称,然后点击创建 VPC
  • 转到EC2管理控制台
  • 点击启动实例,然后:
  • 第 1 步:选择 Amazon Linux 2 AMI
  • 第 2 步:使用默认值
  • 第 3 步:自动分配公共(public) IP:启用
  • 点击审核并启动(将其他所有内容保留为默认值)

启动实例时,系统会要求您选择 key 对。确保您拥有所选 key 对的私有(private)部分。

实例运行后,通过以下方式连接到它:

ssh -i keypair.pem ec2-user@IP-ADDRESS

如果上述内容适合您,那么只需比较上述配置和您当前配置之间的差异即可。尝试找出不同之处,这可能是实例配置或 VPC/子网配置。

如果上述方法对您不起作用,那么您的网络可能不允许出站 SSH 连接。在不同的网络上尝试(例如通过系留电话)来测试这一点。

关于amazon-web-services - 无法通过 SSH 连接到 ec2 实例(浏览器和 cli),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61181312/

相关文章:

amazon-web-services - Elasticsearch查询中多列上的通配符

java - 无法通过 Hibernate 或 sqlplus 连接到 Amazon RDS DBInstance

linux - 在实例启动时运行 shell 脚本

ruby-on-rails - Rails 应用程序在遇到重负载时不断崩溃

ssl - 在 Amazon ec2 用户中安装 GoDaddy SSL

ubuntu - 在 Windows 上使用 Bitvise Tunnelier SSH 到 EC2

amazon-web-services - 让 Vagrant 与 AWS 配合使用

amazon-web-services - 如何引用现有子网和现有安全组参数并在 YAML cloudformation 模板中引用它们

python - 如何使用 Python(和 boto)通过浏览器将文件复制到 Amazon S3?

hadoop - 无法连接到EC2上的JobHistoryServer