本文介绍使用第三方SSH客户端远程连接Linux实例时,提示“No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)”错误的问题原因和解决方案。
问题现象
当您使用第三方SSH客户端远程连接Linux系统的ECS实例时,输入了正确的账号和密码,但是还是出现类似以下错误信息。
Permission denied (publickey,gssapi-keyex,gssapi-with-mic)
sshd[10826]: Connection closed by XX.XX.XX.XX
No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

问题原因
使用密码或密钥登录都可能出现该问题,具体说明如下:
-
使用密码登录出现该问题:可能是ECS实例内禁止用户使用密码方式连接,您可以将
PasswordAuthentication参数值修改为yes以解决此问题。具体操作,请参见方案一:允许使用密码方式登录。 -
使用密钥登录出现该问题:可能是ECS实例内禁止了密钥登录或SSH密钥对的公钥未加入对应用户
.ssh/authorized_keys中,您可以检查/etc/ssh/sshd_config文件或重新上传公钥到authorized_keys文件中以解决此问题。具体操作,请参见方案二:复制公钥到authorized_keys文件。
方案一:允许使用密码方式登录
-
以VNC方式登录ECS实例。
具体操作,请参见通过密码认证登录Linux实例。
-
查看
/etc/ssh/sshd_config的参数PasswordAuthentication配置是否有误。sudo cat /etc/ssh/sshd_config如下图所示,
PasswordAuthentication参数设置为no,表示禁止以密码方式登录,需要修改为yes。
-
将
PasswordAuthentication no修改为PasswordAuthentication yes。-
打开SSH配置文件。
sudo vim /etc/ssh/sshd_config -
将
PasswordAuthentication no修改为PasswordAuthentication yes。
-
按Esc键,输入
:wq保存修改。
-
-
执行如下命令,重启SSH服务。
sudo systemctl restart sshd.service -
重新远程连接Linux实例,如果可以正常连接,说明问题已解决。
方案二:复制公钥到authorized_keys文件
-
以VNC方式登录ECS实例。
具体操作,请参见通过密码认证登录Linux实例。
-
查看
/etc/ssh/sshd_config的参数PubkeyAuthentication配置是否有误。sudo cat /etc/ssh/sshd_config -
将
PubkeyAuthentication no修改为PubkeyAuthentication yes。-
打开SSH配置文件。
sudo vim /etc/ssh/sshd_config -
将
PubkeyAuthentication no修改为PubkeyAuthentication yes。
-
按Esc键,输入
:wq保存修改。 -
执行如下命令,重启SSH服务。
sudo systemctl restart sshd.service
-
-
复制公钥到
authorized_keys文件。-
执行如下命令,打开
authorized_keys文件。sudo vim /home/user/.ssh/authorized_keys/home/user请替换成实际的用户。
-
按
i键进入编辑模式。 -
将本地保存的公钥粘贴到
authorized_keys文件中。 -
按
Esc键,输入:wq退出编辑模式。
-
-
重新远程连接Linux实例,如果可以正常连接,说明问题已解决。

阿里云CentOS/Windows服务器运维指南 | 阿里云腾讯云优惠活动 | 数据库优化教程-学派网








































评论前必须登录!
注册