繁体   English   中英

调试拒绝 ssh 连接到 EC2 实例

[英]Debugging refused ssh connection to EC2 instance

我在同一个子网、同一个 VPC 中创建了一个新的 EC2 实例api1-new并使用与旧实例api1-old相同的安全组。 api1-new是从 Ubuntu Linux AMI 创建的,该 AMI 已经预配置了多个用户,此外,我使用 Amazon 密钥对启动它。

  1. 我无法通过ssh -vvv -p Y my_aliasssh -vvv -p Y XXXX从我的堡垒服务器进行连接,该服务器位于与 api1 实例不同的子网中。 ssh output 中的第一条也是唯一一条错误消息是:

    debug1:连接到地址 XXXX 端口 Y:连接被拒绝

  2. 我可以使用相同的端口从同一堡垒服务器连接到api1-old ,以与 1 中相同的用户身份登录。

  3. 我可以从我的 gitlab 运行器连接到api1-new ,它位于第三个子网中,以与 1 中相同的用户身份登录。

  4. 我可以从以同一用户身份登录的同一堡垒服务器连接到从与api1-new相同的 AMI 启动的实例(前段时间,由同事启动)到第三个子网。

  5. 我已在所有三个涉及的子网中放置了默认 ACL(允许所有流量),但仍然无法连接。

  6. 当我向api1-new添加一个 ping 安全组时,我可以从堡垒服务器 ping 到它,以与 1 中相同的用户身份登录。

  7. $HOME文件夹、 $HOME/.ssh文件夹和$HOME/.ssh/authorized-keysapi1-newapi1-old和 4 中提到的服务器上完全相同(权限和内容)。

  8. 我无法使用我为启动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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM