1. 检查及调整主配置文件
首先检查 /etc/ssh/sshd_config 中的关键配置,找到 PasswordAuthentication 和 PermitRootLogin(如果你用root登录)这两行:
PasswordAuthentication: 请确保它的值是yes。PermitRootLogin: 它是用来控制是否允许root用户登录的,选项包括yes、no或prohibit-password。如果你用非root用户登录,可以先忽略此项。- 如果某行被注释(行首有
#)或找不到,则代表使用默认值(PasswordAuthentication的默认值通常是yes),可以不用修改。
2. 检查所有相关配置文件
Ubuntu 系统可能从 /etc/ssh/sshd_config.d/ 目录加载额外的配置文件。需要确保这些配置文件里没有 PasswordAuthentication no 或 PermitRootLogin no 的设置。
需要注意:
Match语句块里的配置如果放在sshd_config.d的独立文件里,可能不会按预期生效。为了稳妥,建议把对特定用户的配置直接写到/etc/ssh/sshd_config文件的末尾。
3. 重启并测试SSH服务
配置修改完成后,需要重启SSH服务让配置生效:
sudo systemctl restart sshd
# 或使用传统的 service 命令
sudo service ssh restart重启后,新开一个终端窗口尝试SSH登录,检查问题是否解决。


Comments | NOTHING