VPS如何限制用户登录?_3. 修改`/etc/ssh/sshd_config`文件,设置:

如何限制VPS用户登录?

限制方法 适用场景 工具/命令示例
SSH密钥认证限制 需要高安全性的场景 AuthorizedKeysCommand
Fail2Ban防暴力破解 防止恶意登录尝试 fail2ban-client
防火墙规则限制 按IP地址限制访问 iptables/nftables
用户账户权限控制 多用户环境管理 usermod/chroot
修改SSH默认端口 减少自动化扫描攻击 /etc/ssh/sshdconfig

五种方法教你管理VPS访问权限

VPS用户登录限制的完整指南


在VPS管理中,限制用户登录是保障服务器安全的重要措施。以下是五种常用的限制方法及其详细操作步骤:

一、SSH密钥认证限制


操作说明

  1. 生成SSH密钥对:ssh-keygen -t rsa

  2. 将公钥添加到服务器的~/.ssh/authorizedkeys文件中

  3. 修改/etc/ssh/sshdconfig文件,设置:


   PubkeyAuthentication yes
AuthorizedKeysCommand sudo -u nobody -i /usr/local/bin/checkkeys %u %k

使用工具提示

  • 需要预先安装sudo和自定义的密钥检查脚本

  • 适合需要高安全性的生产环境


二、Fail2Ban防暴力破解


操作说明

  1. 安装Fail2Ban:sudo apt-get install fail2ban

  2. 配置/etc/fail2ban/jail.local文件,设置:


   [sshd]
enabled = true
maxretry = 3
bantime = 3600


  1. 启动服务:sudo systemctl start fail2ban


使用工具提示

  • 默认监控SSH日志文件

  • 可自定义监控其他服务


三、防火墙规则限制


操作说明

  1. 使用iptables限制特定IP:


   iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP


  1. 保存规则:iptables-save > /etc/iptables/rules.v4


使用工具提示

  • 现代Linux系统建议使用nftables替代iptables

  • 规则顺序很重要,拒绝规则应放在最后


四、用户账户权限控制


操作说明

  1. 限制用户shell:sudo usermod -s /sbin/nologin username

  2. 创建chroot环境:


   mkdir /var/chroot
mount --bind /dev /var/chroot/dev
mount --bind /dev/pts /var/chroot/dev/pts

使用工具提示

  • 限制用户登录但不影响其运行后台进程

  • chroot环境需要正确配置设备文件


五、修改SSH默认端口


操作说明

  1. 编辑/etc/ssh/sshdconfig


   Port 2222


  1. 重启SSH服务:sudo systemctl restart sshd


使用工具提示

  • 需同时配置防火墙放行新端口

  • 避免使用常见的高端口号


常见问题解决方案

问题现象 可能原因 解决方案
无法通过密钥登录 权限设置错误 检查authorized_keys权限为600
Fail2Ban不生效 日志路径配置错误 检查logpath配置项
防火墙规则丢失 系统重启未加载 添加规则保存和自动加载脚本
用户仍能登录 未限制su权限 编辑/etc/pam.d/su文件
SSH服务启动失败 端口冲突或配置错误 检查sshd -t语法测试

通过以上方法,您可以有效管理VPS的用户登录权限,提高服务器安全性。根据实际需求选择适合的限制方式,建议组合使用多种方法以达到最佳效果。

发表评论

评论列表