要在linux系统中禁止密码登录,您可以通过修改 SSH 配置来实现。请按照以下步骤操作(此处以 Ubuntu为例):
1、SSH 登录到您的服务器(或直接在命令行模式下)。
2、备份 SSH 配置文件:
在终端中运行以下命令以备份现有的 SSH 配置文件:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
3、编辑 SSH 配置文件:
使用您喜欢的文本编辑器打开 SSH 配置文件,例如使用 vi:
sudo vi /etc/ssh/sshd_config
4、更改或添加以下行:
找到并修改(或添加)以下行:
PasswordAuthentication no
如果也希望禁用通过 SSH 密钥的登录,您可以设置:
PubkeyAuthentication yes
5、保存并关闭文件:
如果使用 vi编辑器,您可以按 esc,然后按输入:wq和回车键,写入保存并退出。
6、重启 SSH 服务:
为使更改生效,您需要重启 SSH 服务:
sudo systemctl restart ssh
测试连接:
确保您可以通过 SSH 密钥登录,并且密码登录已被禁用。
注意:确保在禁用密码登录之前,您已经配置好了 SSH 密钥登录。这可以防止您在无法访问系统时被锁定。
另外:通过以上配置,如果禁止密码登录,没有生效的话,我们需要检查一下/etc/ssh/sshd_config.d/目录下有没有50-cloud-init.conf文件,在这个文件里面添加如下设置:
PasswordAuthentication no
再次执行本文的5,6步骤,重新测试,即可成功,这是我使用的方法,此处进行一下记录。
最后说明一下,我们可以查看 SSH 登录相关的日志信息,可能会提供有用的调试信息。这些日志通常位于 /var/log/auth.log
,您可以使用如下命令查看:
sudo tail -f /var/log/auth.log