博客 / Linux/ 使用 Filezilla的SFTP功能ssh登陆主机时提示Disconnected: No supported authentication methods available......解决方法

使用 Filezilla的SFTP功能ssh登陆主机时提示Disconnected: No supported authentication methods available......解决方法

使用 Filezilla的SFTP功能ssh登陆主机时提示Disconnected: No supported authentication methods available......解决方法

问题描述

在使用 FileZilla 的 SFTP 功能通过 SSH 登录主机时,可能会遇到以下错误提示:

Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)

这表明客户端(FileZilla)尝试的认证方法与服务器端(SSH 服务)支持的认证方法不匹配。服务器端仅支持公钥(publickey)、GSSAPI 密钥交换(gssapi-keyex)和 GSSAPI 与 MIC(gssapi-with-mic)认证,而客户端可能未提供有效的公钥或尝试了不被支持的密码认证。

解决方法

此问题通常是由于 SSH 服务器配置禁用了密码认证(PasswordAuthentication)所致。解决方法是通过修改 SSH 服务器的配置文件,启用密码认证,然后重启 SSH 服务。

步骤一:编辑 SSH 配置文件

使用文本编辑器(如 vi 或 nano)以 root 权限打开 SSH 服务器的配置文件。配置文件通常位于:

/etc/ssh/sshd_config

找到关于密码认证的配置行。它可能显示为:

#PasswordAuthentication yes

或者

PasswordAuthentication no

你需要确保该行配置为:

PasswordAuthentication yes

如果该行被注释(以 # 开头),请删除 # 符号以取消注释。如果其值为 no,请将其改为 yes。

步骤二:重启 SSH 服务

保存配置文件后,需要重启 SSH 服务以使更改生效。根据你的系统,可以使用以下命令之一:

  • 使用 systemd 的系统(如 CentOS 7+/Ubuntu 16.04+):
systemctl restart sshd
  • 使用 SysV init 的系统(如 CentOS 6):
service sshd restart

或者使用原文中提到的路径(某些旧式系统):

/etc/init.d/sshd restart

步骤三:重新连接测试

完成上述步骤后,再次尝试使用 FileZilla 通过 SFTP 连接主机,此时应能正常使用密码进行认证登录。

补充说明与安全建议

启用密码认证虽然解决了连接问题,但从安全角度考虑,使用公钥认证是更佳实践。如果你希望保持更高的安全性,建议:

  1. 为你的用户生成 SSH 密钥对。
  2. 将公钥上传到服务器的 ~/.ssh/authorized_keys 文件中。
  3. 在 FileZilla 的站点管理器设置中,指定你的私钥文件路径进行认证。
  4. 在确认公钥认证工作正常后,可以将 PasswordAuthentication 重新设置为 no 以禁用密码登录,提升服务器安全。

如果你在修改配置后问题依旧,请检查服务器防火墙或安全组规则是否放行了 SSH(默认端口 22)的连接。

发表评论

您的邮箱不会公开。必填项已用 * 标注。