在 CentOS 中“限制 SSH 用户”通常有几种常见场景,下面按最常见需求给你说明,你可以按需选择。
编辑 SSH 配置文件:
sudo vi /etc/ssh/sshd_config
添加或修改以下内容:
AllowUsers user1 user2
或只允许某个组:
AllowGroups sshusers
保存后重启 SSH:
sudo systemctl restart sshd
✅ 效果:
只有列出的用户(或组)能登录,其他用户一律拒绝
sudo usermod -s /sbin/nologin username
或使用:
sudo usermod -s /bin/false username
✅ 该用户无法 SSH,但本地服务仍可使用
DenyUsers username
或拒绝整个组:
DenyGroups groupname
重启 SSH:
sudo systemctl restart sshd
sudo vi /etc/ssh/sshd_config
修改:
PermitRootLogin no
重启:
sudo systemctl restart sshd
Match User user1
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/user1
AllowTcpForwarding no
X11Forwarding no
然后:
sudo chown root:root /home/user1
sudo chmod 755 /home/user1
例如只允许 192.168.1.0/24:
sudo firewall-cmd --permanent --add-rich-rule='
rule family="ipv4"
source address="192.168.1.0/24"
service name="ssh"
accept'
sudo firewall-cmd --reload
who
w
last
如果你能告诉我:
我可以给你一套完整可直接用的配置。