使用Xshell7连接Amazon Linux 2023失败,Amazon Linux 2可正常连接的原因及解决方法
Amazon Linux 2023 Xshell7连接失败的原因及解决办法
核心原因
- SSH加密算法不兼容:Amazon Linux 2023默认禁用了ssh-rsa、HMAC-SHA1等旧算法,而Xshell7默认配置可能仍依赖这些算法,导致SSH握手协商失败;Amazon Linux 2保留了这些兼容算法,因此可以正常连接。
- SSHD配置更严格:AL2023的
sshd_config默认开启更严格的安全策略,比如默认关闭密码登录、限制公钥算法类型,而AL2的配置相对宽松。 - 密钥格式不支持:若使用旧版RSA密钥(未指定SHA-2签名),AL2023会拒绝识别,而AL2对旧密钥格式兼容性更好。
- Xshell7版本缺陷:部分旧版Xshell7对现代SSH协议/算法支持不足,无法适配AL2023的默认安全配置。
可行解决办法
1. 调整Xshell7的SSH算法配置
打开目标会话的「属性」窗口,依次进入「连接」→「SSH」→「高级」:
- 在「加密算法」中勾选
chacha20-poly1305@openssh.com、aes256-gcm@openssh.com、aes128-gcm@openssh.com - 在「密钥交换算法」中勾选
curve25519-sha256@libssh.org、ecdh-sha2-nistp256 - 在「公钥算法」中勾选
ssh-ed25519、ecdsa-sha2-nistp256
保存配置后重新尝试连接。
2. 放宽AL2023的SSHD安全限制(仅测试或非敏感环境使用)
通过AWS控制台的EC2 Instance Connect登录AL2023实例:
- 编辑SSHD配置文件:
sudo vi /etc/ssh/sshd_config - 添加或修改以下配置项,启用旧算法兼容:
PubkeyAcceptedAlgorithms +ssh-rsa HostkeyAlgorithms +ssh-rsa MACs +hmac-sha1 - 重启SSH服务:
sudo systemctl restart sshd
3. 生成兼容的SSH密钥
在本地终端用OpenSSH生成现代加密类型的密钥:
ssh-keygen -t ed25519 -C "your-comment"
将生成的公钥(id_ed25519.pub内容)添加到AL2023实例的~/.ssh/authorized_keys文件中,然后在Xshell7中选择新密钥文件进行连接。
4. 更新Xshell7到最新版本
下载并安装Xshell7的最新稳定版,新版本会完善对现代SSH算法的支持,减少兼容性问题。
内容的提问来源于stack exchange,提问作者gongjing2012
相关产品推荐
相关产品推荐

