amazon-web-services - 无法使用 SSH 从本地访问亚马逊 EC2 实例

标签 amazon-web-services amazon-ec2

无法通过 ssh 访问 Amazon EC2 实例,这似乎是非常常见的问题,但我已尝试了所有可用文档中建议的所有内容,其他人知道下面缺少什么吗?

  • 创建新的 EC2 实例并下载 .pem 文件
  • 在 EC2 实例安全组中创建了新的入站规则,允许我的本地 IP
  • 在 EC2 实例网络 ACL 中创建了新的入站规则以允许我的本地 IP
  • 在 EC2 实例网络 ACL 中创建了新的出站规则以到达我的本地 IP
  • 确保 VPC 路由已连接到互联网网关
  • 确保 EC2 实例已附加到正确的安全组

毕竟,当我尝试从本地计算机进行 ssh 时,连接超时,还有什么我必须做的吗 我还禁用了防火墙并进行了测试以防万一

ssh -vvv -i key.pem  ec2-user@********
OpenSSH_7.1p2, OpenSSL 1.0.1g 7 Apr 2014
debug1: Reading configuration data /etc/ssh_config
debug2: ssh_connect: needpriv 0
debug1: Connecting to ec2-instance [********] port 22.
debug1: connect to address ****** port 22: Connection timed out
ssh: connect to host ******* port 22: Connection timed out

最佳答案

超时通常表示没有网络连接。这几乎总是与安全组有关。如果错误立即返回,则意味着实例已接收但拒绝了连接。如果响应时间较长,通常意味着请求未到达实例。

一些建议:

  • 确认实例已分配公共(public) IP 地址
  • 确认安全组允许您的 IP 地址使用入站端口 22 (SSH)。事实上,出于测试目的,暂时允许它来自 0.0.0.0/0 只是为了消除问题的一个潜在原因。
  • 删除您的 NACL 条目。默认 NACL 条目允许所有入站和出站访问。您的更改可能会对此产生负面影响。
  • 确认它是Linux实例(Windows默认不支持SSH)
  • 确认实例位于公共(public)子网(具有通往互联网网关的路由的子网)

您的网络可能拒绝连接(例如由于防火墙规则)。 尝试使用不同的计算机和/或不同的网络(例如家庭与办公室)来消除此原因。

关于amazon-web-services - 无法使用 SSH 从本地访问亚马逊 EC2 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50563944/

相关文章:

amazon-web-services - 删除时,使用 Cloudformation 中定义的生命周期规则将 S3 存储桶对象移动到 Glacier 存储桶

api - AmazonEC2-可以以编程方式创建 EC2 帐户吗?

python - 带有任意 Python 对象的 Amazon SQS 消息?

python-3.x - 如何对部署在 AWS 上的 Flask 应用程序进行 50 次并发调用?

python - 使用客户端加密的 AWS S3 数据保护

java - Amazon S3 在客户端位置下载文件

node.js - 将字符串附加到 AWS Lambda 中的文本文件 Nodejs

amazon-web-services - AWS ElasticBeanstalk 安全组

amazon-ec2 - 创建镜像后 EC2 实例停止工作

amazon-web-services - AWS ECS任务不断启动和停止