要限制CentOS上的SFTP访问,您可以使用以下方法:
使用firewalld或iptables限制允许访问SFTP的IP地址。
例如,使用firewalld:
# 允许特定IP访问SFTP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="22" accept'
# 重新加载防火墙配置
firewall-cmd --reload
禁用密码认证,只允许使用SSH密钥进行身份验证。
编辑/etc/ssh/sshd_config
文件:
# 禁用密码认证
PasswordAuthentication no
# 启用公钥认证
PubkeyAuthentication yes
# 允许特定用户使用SFTP
Match User your_username
ChrootDirectory /home/your_username
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
重启SSH服务:
systemctl restart sshd
将用户限制在其主目录中,防止访问其他用户的文件。
编辑/etc/ssh/sshd_config
文件:
# 启用chroot
UsePAM yes
# 对于特定用户启用chroot
Match User your_username
ChrootDirectory /home/your_username
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
重启SSH服务:
systemctl restart sshd
您还可以使用第三方工具,如OpenSSH Server Config
或Webmin
,来管理SFTP访问限制。
请注意,这些方法可以组合使用,以实现更严格的访问控制。在进行更改之前,请确保备份所有配置文件,并在测试环境中验证更改。