centos

SSH在CentOS上如何配置安全访问

小樊
36
2025-12-29 02:51:15
栏目: 智能运维

在CentOS上配置SSH安全访问可以通过以下几个步骤来实现:

1. 更新系统

首先,确保你的CentOS系统是最新的,以防止已知的安全漏洞。

sudo yum update -y

2. 修改SSH默认端口

默认情况下,SSH使用端口22。为了增加安全性,可以将SSH服务配置为使用非标准端口。

  1. 打开SSH配置文件:
    sudo vi /etc/ssh/sshd_config
    
  2. 找到并修改以下行:
    Port 22
    
    改为:
    Port 2222  # 选择一个非标准端口
    
  3. 保存并退出编辑器。

3. 禁用root登录

为了防止root用户直接通过SSH登录,可以禁用root登录。

  1. sshd_config文件中找到以下行:
    PermitRootLogin yes
    
    改为:
    PermitRootLogin no
    

4. 使用公钥认证

使用公钥认证比密码认证更安全。

  1. 在客户端生成SSH密钥对(如果还没有):
    ssh-keygen -t rsa -b 4096
    
  2. 将公钥复制到服务器:
    ssh-copy-id user@server_ip -p 2222
    
    其中user是服务器上的用户名,server_ip是服务器的IP地址。

5. 配置防火墙

确保防火墙允许SSH连接。

  1. 启动并启用firewalld:
    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 添加SSH端口规则:
    sudo firewall-cmd --permanent --add-port=2222/tcp
    sudo firewall-cmd --reload
    

6. 限制SSH访问

可以通过配置sshd_config文件来限制特定IP地址或子网的访问。

  1. sshd_config文件中添加以下行:
    AllowUsers user@trusted_ip
    
    其中user是允许登录的用户名,trusted_ip是允许访问的IP地址或子网。

7. 定期更新和监控

定期更新SSH服务器软件以修补安全漏洞,并监控SSH日志文件以检测异常活动。

  1. 更新SSH服务器:
    sudo yum update openssh-server -y
    
  2. 监控SSH日志:
    sudo tail -f /var/log/secure
    

8. 使用Fail2Ban

Fail2Ban可以防止暴力破解攻击。

  1. 安装Fail2Ban:
    sudo yum install fail2ban -y
    
  2. 启动并启用Fail2Ban:
    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    
  3. 配置Fail2Ban以监控SSH登录尝试:
    sudo vi /etc/fail2ban/jail.local
    
    添加以下内容:
    [sshd]
    enabled = true
    port = 2222
    filter = sshd
    logpath = /var/log/secure
    maxretry = 3
    bantime = 600
    

通过以上步骤,你可以显著提高CentOS上SSH服务的安全性。

0
看了该问题的人还看了