SFTP(SSH File Transfer Protocol)是一种安全的文件传输协议,它运行在SSH协议之上,为Linux、Windows、macOS、FreeBSD等操作系统提供了文件访问、文件传输和文件管理功能。SFTP通常作为OpenSSH软件包的一部分提供,因此在大多数Linux发行版上都可以找到对SFTP的支持,包括Ubuntu。
安装OpenSSH服务器:
sudo apt update
sudo apt install openssh-server -y
启动并启用SSH服务:
sudo systemctl start ssh
sudo systemctl enable ssh
配置SSH以允许SFTP:
编辑 /etc/ssh/sshd_config
文件,确保以下行未被注释:
Subsystem sftp /usr/lib/openssh/sftp-server
或者,你可以添加或修改以下行来限制用户只能通过SFTP访问:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
创建SFTP用户组(可选):
sudo groupadd sftpusers
添加用户到SFTP用户组(可选):
sudo usermod -aG sftpusers username
配置用户的Chroot环境(可选):
sudo chown root:root /home/usernames
sudo chmod 755 /home/username
sudo mkdir /home/username/uploads
sudo chown username:sftpusers /home/username/uploads
重启SSH服务:
sudo systemctl restart ssh
测试SFTP连接:
使用SFTP客户端(如FileZilla或命令行sftp)连接到你的Ubuntu服务器,确保一切配置正确。
对于Windows,你可以使用Windows系统自带的OpenSSH服务器工具来搭建SFTP服务器。具体的配置步骤包括安装OpenSSH服务器、配置sshd_config文件、创建SFTP用户、配置SFTP目录、重启OpenSSH服务器以及测试SFTP连接。
请注意,具体的安装和配置步骤可能会随着Ubuntu版本的更新而有所变化,因此在实际操作时,建议参考最新的官方文档或教程。