
限制SSH访问可提升服务器安全。具体措施包括:允许特定用户登录、禁用root远程登录、修改默认端口、启用密钥认证、部署fail2ban防暴力破解。组合使用可显著增强安全性。
限制SSH远程访问是提升Linux服务器安全性的基本操作。通过合理配置。可以有效防止暴力破解、未授权登录等风险。以下是一些常用且实用的方法来限制SSH远程访问。
1. 限制允许登录的用户
只允许可信用户通过SSH登录。能大幅降低被攻击的可能性。
方法: 编辑SSH服务配置文件。指定允许登录的用户。
打开SSH配置文件:
sudo nano /etc/ssh/sshd_config
添加如下行。替换username
为实际用户名:
AllowUsers user1 user2 admin@192.168.1.10
支持按IP限定特定用户登录。例如只允许admin从内网IP登录。
保存后重启SSH服务:
sudo systemctl restart sshd
2. 禁用root直接登录
root账户是常见攻击目标。禁止其远程直接登录是基本安全措施。
设置方法: 修改SSH配置禁用root登录。
在/etc/ssh/sshd_config
中找到或添加:
PermitRootLogin no
保存并重启sshd服务。如需临时使用root权限。可通过普通用户登录后执行su -
或sudo
命令。
3. 更改默认SSH端口
将SSH端口从22改为非常用端口。可减少自动化扫描和攻击尝试。
操作步骤: 修改端口配置并调整防火墙规则。
编辑配置文件:
Port 2222
注意:取消该行前面的#
号以生效。
同时更新防火墙(以firewalld为例):
问问小宇宙是小宇宙团队出品的播客AI检索工具
sudo firewall-cmd --permanent --add-port=2222/tcp sudo firewall-cmd --reload
重启sshd前确保新端口已放行。避免被锁在服务器外。
4. 使用密钥认证替代密码登录
密钥登录比密码更安全。且可配合禁用密码登录彻底杜绝暴力破解。
启用方式:
生成密钥对(本地执行):
ssh-keygen -t rsa -b 4096
上传公钥到服务器:
ssh-copy-id -i ~/.ssh/id_rsa.pub user@server -p 2222
然后在/etc/ssh/sshd_config
中关闭密码认证:
PasswordAuthentication no
重启sshd服务使配置生效。
5. 配合fail2ban防止暴力破解
fail2ban能自动检测异常登录行为并封禁IP。
安装与启用:
Ubuntu/Debian:
sudo apt install fail2ban
CentOS/RHEL:
sudo yum install epel-release && sudo yum install fail2ban
复制配置文件:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
编辑jail.local
。启用[sshd]模块:
[sshd] enabled = true maxretry = 3 bantime = 3600
保存后启动服务:
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
基本上就这些。通过组合使用用户限制、非默认端口、密钥认证和入侵防御工具。能显著增强SSH访问的安全性。每次修改配置后记得测试连接。避免意外断连。安全配置不复杂但容易忽略细节。建议逐步实施并定期检查日志/var/log/auth.log
或/var/log/secure
。
以上就是Linux如何限制SSH远程访问_Linux限制SSH远程访问的配置指南的详细内容。
0 条评论