修改SSH默认端口、禁用root登录、启用密钥认证、限制用户与IP访问、设置登录超时及失败尝试,并结合fail2ban防护,可显著提升SSH安全性。

在Linux系统中,安全Shell(SSH)是远程管理服务器最常用的方式。配置不当的SSH服务容易成为攻击入口,因此合理设置SSH对系统安全至关重要。以下是一些实用的配置与优化方法,帮助你提升SSH的安全性。
默认情况下,SSH服务运行在22端口,这是攻击者扫描和暴力破解的主要目标。更改端口可有效减少自动化攻击。
编辑SSH配置文件:
sudo nano /etc/ssh/sshd_config找到 Port 22 这一行,将其改为一个非知名端口,例如:
Port 2222保存后重启SSH服务:
sudo systemctl restart sshd注意:修改端口后,连接时需指定端口,如:ssh user@server -p 2222。
允许root通过SSH直接登录会增加安全风险。建议使用普通用户登录后再切换到root。
编辑配置文件:
sudo nano /etc/ssh/sshd_config修改或添加以下行:
PermitRootLogin no重启sshd服务使更改生效。之后可通过普通账户登录,再使用sudo su -切换到root。
基于密钥的身份验证比密码更安全,能有效防止暴力破解。
在本地生成SSH密钥对:
ssh-keygen -t ed25519将公钥上传到服务器:
ssh-copy-id user@server确认密钥登录正常后,编辑配置文件:
sudo nano /etc/ssh/sshd_config设置:
PubkeyAuthentication yes这样系统只接受密钥登录,关闭密码验证。
通过限制可登录的用户和来源IP,进一步缩小攻击面。
在 /etc/ssh/sshd_config 中添加:
AllowUsers alice bob@192.168.1.*上述配置表示只允许alice登录,bob只能从192.168.1.0/24网段登录,tom被禁止。
配合防火墙(如iptables或ufw),也可限制SSH端口的访问来源。
设置合理的超时时间可以防止连接长时间挂起。
在配置文件中添加或修改:
ClientAliveInterval 300表示客户端5分钟无响应后断开,最多允许3次认证尝试。
sudo apt install fail2ban以上就是Linux如何配置安全Shell_Linux安全Shell的配置与优化指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号