要限制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服務器。