温馨提示×

如何在CentOS上限制SFTP访问IP

小樊
44
2025-03-05 13:12:40
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上限制SFTP访问IP,可以通过配置SSH服务器来实现。以下是详细步骤:

1. 编辑SSH配置文件

首先,你需要编辑SSH服务器的配置文件 /etc/ssh/sshd_config

sudo vi /etc/ssh/sshd_config

2. 添加IP限制规则

sshd_config 文件中添加以下内容来限制SFTP访问IP:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    AllowAgentForwarding no
    PasswordAuthentication yes
    AllowUsers user1@192.168.1.1,user2@192.168.1.2
  • Match Group sftpusers: 这行表示接下来的配置只适用于属于 sftpusers 组的用户。
  • ChrootDirectory %h: 将用户的根目录限制在其主目录中。
  • ForceCommand internal-sftp: 强制使用SFTP命令。
  • AllowTcpForwarding no, X11Forwarding no, AllowAgentForwarding no: 禁止TCP转发、X11转发和代理转发。
  • PasswordAuthentication yes: 允许密码认证(根据需要可以改为 no)。
  • AllowUsers user1@192.168.1.1,user2@192.168.1.2: 指定允许访问的用户名和IP地址。

3. 创建SFTP用户组

创建一个专门用于SFTP访问的用户组,并将需要限制IP的用户添加到该组中。

sudo groupadd sftpusers

4. 添加用户到组

将需要限制IP的用户添加到 sftpusers 组中。

sudo usermod -aG sftpusers user1
sudo usermod -aG sftpusers user2

5. 设置用户主目录权限

确保用户的主目录权限设置正确,以便SSH可以正确地进行chroot操作。

sudo chown root:root /home/user1
sudo chmod 755 /home/user1

sudo chown root:root /home/user2
sudo chmod 755 /home/user2

6. 创建用户主目录

确保每个用户的主目录存在,并且属于正确的用户和组。

sudo mkdir -p /home/user1
sudo mkdir -p /home/user2

sudo chown user1:sftpusers /home/user1
sudo chown user2:sftpusers /home/user2

7. 重启SSH服务

最后,重启SSH服务以应用更改。

sudo systemctl restart sshd

验证配置

确保配置正确后,尝试从允许的IP地址访问SFTP,并从不允许的IP地址访问以验证限制是否生效。

通过以上步骤,你可以在CentOS上成功限制SFTP访问IP。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何在CentOS上限制SFTP访问权限

0