centos

centos ssh如何提高安全性

小樊
55
2025-10-04 20:14:28
栏目: 智能运维

1. 禁用Root用户直接SSH登录
修改SSH配置文件/etc/ssh/sshd_config,找到#PermitRootLogin yes行,取消注释并将值改为no(完全禁止root通过SSH登录)或without-password(允许root使用密钥登录但不允许密码登录)。修改后重启SSH服务使配置生效:sudo systemctl restart sshd。此操作可防止攻击者直接针对root账户进行暴力破解,降低系统被入侵的风险。

2. 修改SSH默认端口(从22改为非标准端口)
默认的22端口是攻击者的主要扫描目标,修改为1-65535之间的非常用端口(如2222、3333)可显著减少自动扫描攻击。编辑/etc/ssh/sshd_config,找到#Port 22行,取消注释并修改为Port 新端口号(如Port 2222)。修改后需重启SSH服务:sudo systemctl restart sshd注意:修改前需测试新端口能否正常连接(如ssh -p 新端口号 用户名@服务器IP),避免因配置错误导致无法远程登录。

3. 启用SSH密钥认证并禁用密码登录
密钥认证比密码认证更安全(难以暴力破解),且能有效防止密码泄露风险。操作步骤:

4. 限制SSH登录用户或IP地址
通过配置文件限制可访问SSH的用户或IP,减少不必要的访问尝试:

5. 配置防火墙限制SSH访问来源
使用firewalld(CentOS默认防火墙)限制SSH端口的访问来源,仅允许信任的IP或网段访问:

6. 安装并配置Fail2Ban防止暴力破解
Fail2Ban是一款入侵防御工具,可通过监控日志自动封禁多次登录失败的IP地址。操作步骤:

7. 调整SSH会话超时设置
通过设置会话超时,防止空闲会话被非法利用。编辑/etc/ssh/sshd_config,添加或修改以下参数:ClientAliveInterval 300(服务器每300秒向客户端发送一次探测包)、ClientAliveCountMax 3(若连续3次未收到响应,则断开连接,总超时时间为900秒)。修改后重启SSH服务。

8. 禁用不安全的SSH协议版本和功能
SSH协议版本1存在安全漏洞,应禁用并仅使用版本2;同时禁用不必要的功能(如GSSAPI认证)以减少攻击面。编辑/etc/ssh/sshd_config,设置Protocol 2(仅允许SSH2)、GSSAPIAuthentication no(禁用GSSAPI认证)。修改后重启SSH服务。

0
看了该问题的人还看了