问题描述
当您通过SSH客户端登录Linux系统的ECS实例时,输入正确的账号密码,也会出现类似以下错误信息。
- Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
- sshd[10826]: Connection closed by XX.XX.XX.XX.
- Disconnected: No supported authentication methods available.
问题原因
SSH服务中参数PasswordAuthentication
的默认值为yes
,将其值置为no
以禁用密码验证登录,导致此类故障。需要修改PasswordAuthentication
配置解决此问题。
说明:本文介绍其中一种问题原因,具体原因需要根据实际场景具体分析。
解决方案
阿里云提醒您:
- 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
- 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
- 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
本文以CentOS 6.8为例进行介绍,建议在修改配置文件之前创建快照备份数据,如何创建快照请参见创建快照。
- 连接并登录到Linux实例,关于如何连接Linux实例,请参见使用管理终端连接Linux实例。
- 执行以下命令,查看SSH服务配置。
cat /etc/ssh/sshd_config
- 执行以下命令,按i键编辑SSH服务配置文件,将参数
PasswordAuthentication
设置为yes
,或者在PasswordAuthentication
参数前添加#,按Esc键退出编辑模式,并输入:wq
保存退出。vi /etc/ssh/sshd_config
- 执行以下命令,重启SSH服务。
说明:如果您使用CentOS 7以上的镜像,则执行
systemctl restart sshd
命令,重启SSH服务。service ssh restart
- 使用SSH客户端重新登录Linux实例。