温馨提示×

如何限制CentOS SSH访问来源

小樊
51
2026-01-09 20:16:34
栏目: 智能运维

要限制CentOS SSH访问来源,您可以使用防火墙(如firewalld)或TCP Wrappers来实现

方法1:使用firewalld

  1. 首先,确保您已经安装了firewalld。如果没有,请使用以下命令安装:
sudo yum install firewalld
  1. 启动firewalld服务并设置为开机启动:
sudo systemctl start firewalld
sudo systemctl enable firewalld
  1. 允许SSH连接:
sudo firewall-cmd --permanent --add-service=ssh
  1. 限制SSH访问来源IP地址范围。例如,如果您只想允许IP地址为192.168.1.0/24的主机访问SSH,请执行以下命令:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="22" accept'
  1. 重新加载firewalld配置以应用更改:
sudo firewall-cmd --reload

方法2:使用TCP Wrappers

  1. 安装TCP Wrappers(如果尚未安装):
sudo yum install tcp_wrappers
  1. 编辑/etc/hosts.deny文件,拒绝所有IP地址的SSH连接:
sudo vi /etc/hosts.deny

在文件中添加以下内容:

sshd: ALL
  1. 编辑/etc/hosts.allow文件,允许特定IP地址或IP地址范围的SSH连接。例如,如果您只想允许IP地址为192.168.1.0/24的主机访问SSH,请执行以下命令:
sudo vi /etc/hosts.allow

在文件中添加以下内容:

sshd: 192.168.1.0/24
  1. 重启SSH服务以应用更改:
sudo systemctl restart sshd

现在,只有指定的IP地址或IP地址范围的主机才能访问您的CentOS服务器上的SSH服务。

0