centos

centos ssh如何限制访问IP

小樊
71
2025-05-10 19:05:14
栏目: 智能运维

在CentOS系统中,您可以通过配置SSH服务来限制访问IP。以下是几种常见的方法:

方法一:使用sshd_config文件

  1. 编辑sshd_config文件: 打开终端并使用文本编辑器(如vinano)编辑/etc/ssh/sshd_config文件。

    sudo vi /etc/ssh/sshd_config
    
  2. 添加或修改AllowUsersDenyUsers指令

    • AllowUsers:指定允许登录的用户及其IP地址。
    • DenyUsers:指定拒绝登录的用户及其IP地址。

    例如,只允许特定IP地址的用户登录:

    AllowUsers user1@192.168.1.100 user2@192.168.1.101
    

    或者,拒绝特定IP地址的用户登录:

    DenyUsers user3@192.168.1.102 user4@192.168.1.103
    
  3. 保存并退出编辑器

    • 如果使用vi,按Esc键,然后输入:wq并按Enter键。
    • 如果使用nano,按Ctrl+X键,然后按Y键确认保存,最后按Enter键。
  4. 重启SSH服务: 使配置生效,需要重启SSH服务。

    sudo systemctl restart sshd
    

方法二:使用防火墙(iptables)

  1. 添加防火墙规则: 使用iptables命令添加规则,只允许特定IP地址访问SSH端口(默认是22)。

    例如,只允许IP地址192.168.1.100访问SSH:

    sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT
    

    拒绝所有其他IP地址访问SSH:

    sudo iptables -A INPUT -p tcp --dport 22 -j DROP
    
  2. 保存防火墙规则: 使用iptables-saveiptables-restore命令保存和恢复规则,或者安装并配置iptables-services包来持久化规则。

    sudo yum install iptables-services
    sudo systemctl enable iptables
    sudo systemctl start iptables
    

方法三:使用fail2ban

fail2ban是一个入侵防御软件框架,可以监控日志文件并根据规则阻止恶意IP地址。

  1. 安装fail2ban

    sudo yum install fail2ban
    
  2. 配置fail2ban: 编辑/etc/fail2ban/jail.local文件,添加或修改SSH相关的配置。

    sudo vi /etc/fail2ban/jail.local
    

    添加以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/secure
    maxretry = 3
    bantime = 600
    
  3. 启动并启用fail2ban服务

    sudo systemctl start fail2ban
    sudo systemctl enable fail2ban
    

通过以上方法,您可以有效地限制CentOS系统中SSH服务的访问IP。根据您的需求选择合适的方法进行配置。

0
看了该问题的人还看了