在Ubuntu系统中,用户登录管理是系统安全的重要组成部分。本文将介绍如何禁用用户登录、锁定用户账户等安全配置方法。
禁用密码认证
编辑SSH配置文件:
1
| sudo nano /etc/ssh/sshd_config
|
修改以下配置项:
1 2 3 4 5 6 7 8 9 10 11
| PasswordAuthentication no
UsePAM no
ChallengeResponseAuthentication no
PubkeyAuthentication yes
|
保存文件(nano编辑器:Ctrl + O,然后 Ctrl + X)并重启SSH服务:
1
| sudo systemctl restart ssh
|
禁用特定用户
在SSH配置中添加用户限制:
1 2 3 4 5
| DenyUsers username1 username2
AllowUsers allowed_user1 allowed_user2
|
锁定用户账户
锁定用户密码
1 2 3 4 5
| sudo usermod -L username
sudo usermod -U username
|
禁用用户shell
1 2 3 4 5
| sudo usermod -s /usr/sbin/nologin username
sudo usermod -s /bin/bash username
|
设置用户密码过期
1 2 3 4 5
| sudo chage -E 0 username
sudo chage -E -1 username
|
验证配置
测试SSH连接:
1 2 3 4 5
| ssh username@server_ip
ssh -i ~/.ssh/id_rsa username@server_ip
|
常见问题
锁定后仍能登录
sudo usermod -L username 只锁定密码,不影响SSH密钥认证。要完全禁用登录,需要组合使用:
- 禁用用户shell:
sudo usermod -s /usr/sbin/nologin username
- 在SSH配置中禁用:添加
DenyUsers username
解锁时提示无密码账户
错误信息表示用户原本就没有密码。解决方案:
1 2
| sudo passwd username sudo usermod -U username
|