免责声明: 本文档可能包含第三方产品信息,该信息仅供参考。阿里云对第三方产品的性能、可靠性以及操作可能带来的潜在影响,不做任何暗示或其他形式的承诺。
问题描述
无法通过SSH登录系统。查看日志文件/var/log/auth.log
,可能显示如下几种错误信息。
-
错误信息一如下所示,由于key格式无效导致无法加载密钥。
May 21 12:03:46 debug sshd[1470]: error: key_load_public: invalid format May 21 12:03:46 debug sshd[1470]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key May 21 12:03:46 debug sshd[1470]: error: key_load_public: invalid format May 21 12:03:46 debug sshd[1470]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key May 21 12:03:46 debug sshd[1470]: error: key_load_public: invalid format May 21 12:03:46 debug sshd[1470]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key May 21 12:03:46 debug sshd[1470]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key May 21 12:03:46 debug sshd[1470]: fatal: No supported key exchange algorithms [preauth]
-
错误信息二如下所示,系统仅显示无法加载密钥。
May 21 10:55:25 debug sshd[1337]: error: Could not load host key: /etc/ssh/ssh_host_rsa_key May 21 10:55:25 debug sshd[1337]: error: Could not load host key: /etc/ssh/ssh_host_dsa_key May 21 10:55:25 debug sshd[1337]: error: Could not load host key: /etc/ssh/ssh_host_ecdsa_key May 21 10:55:25 debug sshd[1337]: error: Could not load host key: /etc/ssh/ssh_host_ed25519_key May 21 10:55:25 debug sshd[1337]: fatal: No supported key exchange algorithms [preauth]
问题原因
由于SSH服务的公私钥异常导致无法通过SSH登录Linux实例。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
- 执行如下命令,查看SSH服务的公钥与密钥文件。
ls -l /etc/ssh
如果系统显示如下信息,说明公钥与密钥文件丢失。 -
如果系统显示如下信息,说明公钥与密钥文件异常。
-
执行如下命令,生成RSA类型的公钥与密钥文件。
ssh-keygen -t rsa
系统显示类似如下。
填入RSA私钥的路径后回车,系统显示类似如下。
注:RSA私钥的路径请在配置文件
/etc/ssh/sshd_config
里查询。 -
执行如下命令,生成DSA类型的公钥与密钥文件。
ssh-keygen -t dsa
-
执行如下命令,生成ECDSA类型的公钥与密钥文件。
ssh-keygen -t ecdsa
-
重启SSH服务后,正常登录Linux系统。
适用于
-
云服务器ECS
文档内容是否对您有帮助?