在Ubuntu上配置SFTP(SSH File Transfer Protocol)通常涉及几个步骤,包括安装必要的软件、配置SSH服务器以及设置用户权限。以下是一个基本的指南:
首先,确保你的Ubuntu系统上已经安装了OpenSSH服务器。如果没有安装,可以使用以下命令进行安装:
sudo apt update
sudo apt install openssh-server
编辑SSH配置文件 /etc/ssh/sshd_config
来启用SFTP并对其进行配置。
sudo nano /etc/ssh/sshd_config
在文件中找到或添加以下行:
# 启用SFTP子系统
Subsystem sftp /usr/lib/openssh/sftp-server
# 可选:限制SFTP用户的根目录
# ChrootDirectory %h
# ForceCommand internal-sftp
# 允许SFTP用户登录
AllowUsers your_username
Subsystem sftp /usr/lib/openssh/sftp-server
:启用SFTP子系统。ChrootDirectory %h
:将SFTP用户的根目录限制在其主目录中。如果你不希望这样做,可以注释掉这一行。ForceCommand internal-sftp
:强制SFTP用户使用内部SFTP命令,而不是shell。AllowUsers your_username
:只允许指定的用户通过SFTP登录。你可以指定多个用户名,用空格分隔。保存并关闭文件。
为了使配置生效,需要重启SSH服务:
sudo systemctl restart sshd
确保SFTP用户的家目录权限设置正确,以便用户可以访问其文件。
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
如果你启用了 ChrootDirectory
,还需要确保用户的家目录及其所有父目录的权限设置正确:
sudo chown root:root /home/your_username
sudo chmod 755 /home/your_username
sudo chown your_username:your_username /home/your_username/.ssh
sudo chmod 700 /home/your_username/.ssh
现在,你可以使用SFTP客户端连接到你的Ubuntu服务器。例如,使用命令行SFTP客户端:
sftp your_username@your_server_ip
你应该能够成功登录并开始使用SFTP进行文件传输。
如果你的服务器启用了防火墙,确保允许SSH(默认端口22)流量:
sudo ufw allow 22
或者,如果你使用的是其他防火墙工具,请相应地配置规则。
通过以上步骤,你应该能够在Ubuntu上成功配置和使用SFTP。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读:Ubuntu SFTP如何配置