Ubuntu SFTP安装简明教程
SFTP(Secure File Transfer Protocol)是SSH的集成组件,通过加密通道实现安全文件传输。以下是在Ubuntu上安装并配置SFTP的简化步骤:
首先同步系统软件包索引,确保后续安装的软件版本最新:
sudo apt update
SFTP依赖OpenSSH服务,安装openssh-server包即可获取SFTP功能:
sudo apt install openssh-server
安装完成后,立即启动SSH服务并设置为开机自动启动:
sudo systemctl start ssh # 启动服务
sudo systemctl enable ssh # 开机自启
编辑SSH配置文件,限制特定用户/组只能使用SFTP,并隔离其访问目录:
sudo nano /etc/ssh/sshd_config
Subsystem sftp行,取消注释(若被注释)并修改为:Subsystem sftp internal-sftp
sftpuser为例):Match User sftpuser
ChrootDirectory %h # 限制用户只能访问其家目录
ForceCommand internal-sftp # 强制使用SFTP,禁止SSH shell
AllowTcpForwarding no # 禁止端口转发
X11Forwarding no # 禁止X11转发
或限制用户组(如sftpusers):Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
sftpuser为例):sudo adduser sftpuser
按提示设置密码及用户信息。root(保障安全),权限设为755:sudo mkdir -p /home/sftpuser
sudo chown root:root /home/sftpuser
sudo chmod 755 /home/sftpuser
upload)供用户上传文件,属主为用户自身:sudo mkdir /home/sftpuser/upload
sudo chown sftpuser:sftpuser /home/sftpuser/upload
修改配置文件后,必须重启SSH服务使更改生效:
sudo systemctl restart ssh
使用命令行工具测试连接(替换为实际IP和用户名):
sftp sftpuser@your_server_ip
输入密码后,若成功登录会显示sftp>提示符,可通过ls、put、get等命令进行文件操作。
注意事项:
sudo ufw allow 22;ChrootDirectory目录的权限设为用户可写(需保持root:root+755);