在CentOS系統中,您可以通過配置SSH服務器來限制SFTP訪問的IP地址。以下是具體步驟:
sshd_config
文件編輯SSH配置文件
打開SSH配置文件 /etc/ssh/sshd_config
:
sudo vi /etc/ssh/sshd_config
添加或修改Match
塊
在文件中找到或添加一個Match
塊來指定允許訪問的IP地址。例如:
Match Address 192.168.1.100,192.168.1.101
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /home/%u
AllowTcpForwarding no
X11Forwarding no
這個配置表示只有IP地址為192.168.1.100
和192.168.1.101
的用戶可以訪問SFTP,并且強制使用內部SFTP命令,禁止TCP和X11轉發。
重啟SSH服務 保存并退出編輯器后,重啟SSH服務以應用更改:
sudo systemctl restart sshd
您也可以通過配置防火墻(如firewalld
)來限制SFTP訪問的IP地址。
安裝firewalld
(如果尚未安裝)
sudo yum install firewalld
啟動并啟用firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加允許訪問的IP地址
使用firewall-cmd
命令添加允許訪問SFTP的IP地址:
sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.100
sudo firewall-cmd --permanent --zone=trusted --add-source=192.168.1.101
重新加載防火墻規則
sudo firewall-cmd --reload
如果您的系統啟用了SELinux,您還可以通過SELinux策略來進一步限制SFTP訪問。
安裝SELinux管理工具
sudo yum install policycoreutils-python
創建自定義SELinux策略模塊
編輯或創建一個自定義SELinux策略模塊文件,例如/etc/selinux/targeted/contexts/files/file_contexts.local
:
sudo vi /etc/selinux/targeted/contexts/files/file_contexts.local
添加以下內容:
/home/.ssh(/.*)? --> ssh_home_t:s0
重新加載SELinux策略
sudo restorecon -Rv /home/.ssh
通過以上方法,您可以有效地限制CentOS系統中SFTP訪問的IP地址。選擇適合您需求的方法進行配置即可。