配置一个Linux SFTP服务器涉及几个步骤,包括安装必要的软件包、配置SSH服务器以及设置SFTP用户目录和权限。以下是一个基本的步骤指南:
首先,确保你的系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install openssh-server
编辑SSH服务器的配置文件 /etc/ssh/sshd_config
:
sudo nano /etc/ssh/sshd_config
找到并修改以下配置项:
Subsystem sftp
:指定SFTP子系统的路径。通常情况下,它已经设置为 /usr/lib/openssh/sftp-server
,但你可以确认一下:
Subsystem sftp /usr/lib/openssh/sftp-server
AllowUsers
:允许哪些用户通过SFTP登录。你可以添加或删除用户:
AllowUsers user1 user2 user3
DenyUsers
:拒绝哪些用户通过SFTP登录。你可以添加或删除用户:
DenyUsers user4 user5
ChrootDirectory
:将用户限制在其主目录中。例如,将所有用户的SFTP会话限制在 /home/user
目录下:
ChrootDirectory /home/%u
PermitRootLogin
:是否允许root用户通过SSH登录。出于安全考虑,通常建议设置为 no
:
PermitRootLogin no
为每个允许通过SFTP登录的用户创建一个主目录。例如,为用户 user1
创建目录 /home/user1
:
sudo mkdir /home/user1
sudo chown user1:user1 /home/user1
sudo chmod 755 /home/user1
重复上述步骤为其他用户创建目录。
保存并退出配置文件后,重启SSH服务以应用更改:
sudo systemctl restart sshd
你可以使用 sftp
命令测试SFTP连接。例如,连接到 user1
:
sftp user1@your_server_ip
输入密码后,你应该能够成功连接到SFTP服务器并访问其主目录。
如果你使用的是 ufw
防火墙,确保允许SSH端口(默认是22):
sudo ufw allow ssh
通过以上步骤,你已经成功配置了一个基本的Linux SFTP服务器。根据你的具体需求,你可能还需要进行更多的配置,例如设置SSL/TLS加密、配置日志记录等。