[英]Debugging refused ssh connection to EC2 instance
我在同一个子网、同一个 VPC 中创建了一个新的 EC2 实例api1-new
并使用与旧实例api1-old
相同的安全组。 api1-new
是从 Ubuntu Linux AMI 创建的,该 AMI 已经预配置了多个用户,此外,我使用 Amazon 密钥对启动它。
我无法通过ssh -vvv -p Y my_alias
或ssh -vvv -p Y XXXX
从我的堡垒服务器进行连接,该服务器位于与 api1 实例不同的子网中。 ssh output 中的第一条也是唯一一条错误消息是:
debug1:连接到地址 XXXX 端口 Y:连接被拒绝
我可以使用相同的端口从同一堡垒服务器连接到api1-old
,以与 1 中相同的用户身份登录。
我可以从我的 gitlab 运行器连接到api1-new
,它位于第三个子网中,以与 1 中相同的用户身份登录。
我可以从以同一用户身份登录的同一堡垒服务器连接到从与api1-new
相同的 AMI 启动的实例(前段时间,由同事启动)到第三个子网。
我已在所有三个涉及的子网中放置了默认 ACL(允许所有流量),但仍然无法连接。
当我向api1-new
添加一个 ping 安全组时,我可以从堡垒服务器 ping 到它,以与 1 中相同的用户身份登录。
$HOME
文件夹、 $HOME/.ssh
文件夹和$HOME/.ssh/authorized-keys
在api1-new
、 api1-old
和 4 中提到的服务器上完全相同(权限和内容)。
我无法使用我为启动api1-new
创建的 Amazon 密钥对从堡垒服务器连接到api1-new
-new,无论是作为 ubuntu 还是作为我的普通用户连接。 堡垒服务器上私钥的 MD5 指纹与我在api1-new
的系统日志中看到的相同。
api1 实例没有公共 IP 地址。
我觉得除了安全组、ACL 和授权密钥之外,我还遗漏了一些难题。
我想知道是否有某种方法可以在api1-new
上记录拒绝的 SSH 连接以获取连接被拒绝的原因。
感谢 wesleywh 建议查看 /etc/ssh/sshd_config!
我认为这与您的子网或 ssh 密钥无关。 您收到“连接被拒绝”的事实使您认为您的堡垒实例能够很好地看到您的其他 ec2 实例。 问题可能是“其他 ec2 实例”本身的安全组或您提供密钥的方式。
打开“其他 ec2 实例”安全组。 如果您尝试从堡垒的 22 端口访问此实例,则将以下内容添加到“其他 ec2 实例”的入站规则中:
Type | Protocol | Port Range | Source | Description
-----------------------------------------------------------
SSH | TCP | 22 | sg-1234abc | Bastion SG
其中sg-1234abc
是您的堡垒 ec2 实例的安全组 ID。 然后再试一次。
--- FROM LOCAL MACHINE ---
ssh-add -k <path_to_aws_private_key>
ssh-add -k <path_to_bastion_user_private_key>
ssh -A <bastion_user>@<bastion_ip>
--- FROM INSIDE BASTION INSTANCE ---
ssh ec2-user@<other ec2 instance ip>
编辑:根据下面的评论还检查以下内容:
查看/etc/ssh/sshd_config
并确保它设置为接受自定义 ssh 端口,如果您打算使用一个。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.