限制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为例):
sudo firewall-cmd --permanent --add-port=2222/tcpsudo firewall-cmd --reload
重启sshd前确保新端口已放行,避免被锁在服务器外。
问问小宇宙
问问小宇宙是小宇宙团队出品的播客AI检索工具
77 查看详情
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 = truemaxretry = 3bantime = 3600
保存后启动服务:
sudo systemctl enable fail2ban && sudo systemctl start fail2ban
基本上就这些。通过组合使用用户限制、非默认端口、密钥认证和入侵防御工具,能显著增强SSH访问的安全性。每次修改配置后记得测试连接,避免意外断连。安全配置不复杂但容易忽略细节,建议逐步实施并定期检查日志/var/log/auth.log或/var/log/secure。
以上就是Linux如何限制SSH远程访问_Linux限制SSH远程访问的配置指南的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/420425.html
微信扫一扫
支付宝扫一扫