要在Linux上设置SFTP服务器以限制访问,您可以使用OpenSSH
-
安装OpenSSH服务器: 对于Debian/Ubuntu系统,请使用以下命令安装OpenSSH:
sudo apt-get update sudo apt-get install openssh-server
对于RHEL/CentOS系统,请使用以下命令安装OpenSSH:
sudo yum install openssh-server
-
创建一个新的系统用户(可选): 如果您希望为SFTP服务器创建一个专用的用户,可以使用以下命令创建一个新用户:
sudo adduser sftpuser sudo passwd sftpuser
按照提示输入密码。
-
配置OpenSSH服务器: 使用文本编辑器打开
/etc/ssh/sshd_config
文件,例如:sudo nano /etc/ssh/sshd_config
在文件中找到或添加以下配置选项:
Subsystem sftp /usr/lib/openssh/sftp-server
:指定SFTP子系统的路径。AllowUsers sftpuser
(如果创建了专用用户):允许访问SFTP服务器的用户列表。DenyUsers user1 user2
(如果需要拒绝某些用户):拒绝访问SFTP服务器的用户列表。ChrootDirectory %h
:将用户限制在其主目录中。AllowTcpForwarding no
:禁用TCP端口转发。PermitTunnel no
:禁用SSH隧道。PasswordAuthentication yes
(如果需要允许密码身份验证):允许使用密码进行身份验证。X11Forwarding no
:禁用X11转发。
根据您的需求修改这些选项,然后保存并关闭文件。
-
重启OpenSSH服务器: 对于Debian/Ubuntu系统,请使用以下命令重启OpenSSH:
sudo systemctl restart ssh
对于RHEL/CentOS系统,请使用以下命令重启OpenSSH:
sudo systemctl restart sshd
现在,您已经成功配置了Linux SFTP服务器以限制访问。根据您设置的配置,只有允许的用户才能访问SFTP服务器,其他用户将被拒绝。