要限制CentOS上的SFTP访问权限,您可以使用以下方法:
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
在文件末尾添加以下内容:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这将限制名为sftpusers
的用户组的用户访问。
c. 创建一个新组并添加SFTP用户:
sudo groupadd sftpusers
sudo useradd -m -G sftpusers your_username
将your_username
替换为您要为其设置SFTP访问权限的用户名。
d. 设置用户密码:
sudo passwd your_username
按照提示输入并确认密码。
e. 重启SSH服务以应用更改:
sudo systemctl restart sshd
现在,SFTP用户将被限制在其主目录中,并且只能使用SFTP协议进行连接。
如果您希望仅允许特定IP地址访问SFTP服务器,可以使用防火墙(如firewalld)来实现。
a. 安装firewalld:
sudo yum install -y firewalld
b. 启动firewalld服务:
sudo systemctl start firewalld
c. 允许SFTP连接:
sudo firewall-cmd --permanent --add-service=sftp
d. 重新加载防火墙配置:
sudo firewall-cmd --reload
e. 添加允许访问的IP地址:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="允许的IP地址" port protocol="tcp" port="22" accept'
将允许的IP地址
替换为您希望允许访问SFTP服务器的IP地址。
f. 重新加载防火墙配置:
sudo firewall-cmd --reload
现在,只有指定的IP地址可以访问SFTP服务器。