如何限制centos sftp访问

436
2025/4/10 18:32:22
栏目: 智能运维
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

要限制CentOS上的SFTP访问,您可以使用以下方法:

  1. 使用Chroot Jail限制用户访问:

Chroot Jail是一种将用户限制在其主目录中的方法,从而限制对系统其他部分的访问。要为您的SFTP用户设置Chroot Jail,请按照以下步骤操作:

a. 安装必要的软件包:

sudo yum install -y epel-release
sudo yum install -y openssh-server

b. 编辑/etc/ssh/sshd_config文件:

sudo vi /etc/ssh/sshd_config

c. 在文件末尾添加以下内容:

Match Group sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no

这将限制名为sftpusers的用户组的用户访问。

d. 创建一个新组并添加SFTP用户:

sudo groupadd sftpusers
sudo useradd -m -G sftpusers your_username

your_username替换为您要为其设置SFTP访问的用户名。

e. 设置用户密码:

sudo passwd your_username

f. 重启SSH服务以应用更改:

sudo systemctl restart sshd

现在,您的SFTP用户将被限制在其主目录中。

  1. 使用防火墙限制IP访问:

要限制特定IP地址访问SFTP服务,您可以使用防火墙(如firewalld)来实现。

a. 安装firewalld:

sudo yum install -y firewalld

b. 启动firewalld服务并设置为开机启动:

sudo systemctl start firewalld
sudo systemctl enable firewalld

c. 允许SFTP连接:

sudo firewall-cmd --permanent --add-service=sftp

d. 重新加载防火墙配置:

sudo firewall-cmd --reload

e. 限制特定IP地址访问SFTP服务:

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="your_ip_address" port protocol="tcp" port="22" accept'

your_ip_address替换为您要允许访问SFTP服务的IP地址。

f. 重新加载防火墙配置:

sudo firewall-cmd --reload

现在,只有指定的IP地址可以访问您的SFTP服务。

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

推荐阅读: 如何在CentOS上为Apache添加SSL支持