在Ubuntu系统上启用SFTP(SSH File Transfer Protocol)服务是一种提高文件传输安全性的方法,它通过SSH协议为文件传输提供了一个安全的通道。这种方法不仅保障了数据的加密传输,还支持强大的认证机制。以下是在Ubuntu系统上启用SFTP服务的详细步骤,旨在为系统管理员和开发人员提供一个实用、易于遵循的指南。

1. 安装SSH服务

Ubuntu系统默认可能没有安装SSH服务。首先,需要确保SSH服务已经安装在您的系统上。可以通过以下命令安装SSH服务:

sudo apt update
sudo apt install openssh-server

安装完成后,可以使用以下命令检查SSH服务的状态,确保它正在运行:

sudo systemctl status ssh

2. 配置SFTP

为了启用SFTP服务,需要对SSH配置文件进行一些修改。默认的SSH配置文件位于 /etc/ssh/sshd_config。使用文本编辑器编辑这个文件:

sudo nano /etc/ssh/sshd_config

创建SFTP用户和用户组

首先,建议为SFTP传输创建专用的用户和用户组,以增强系统的安全性。执行以下命令创建一个新的用户组,例如叫 sftpusers

sudo groupadd sftpusers

然后,创建一个专用于SFTP传输的用户,并将其添加到 sftpusers组:

sudo adduser --ingroup sftpusers your_sftp_username

替换 your_sftp_username为您想要的用户名。

配置SFTP目录

接下来,需要为SFTP用户配置一个根目录,并确保该用户仅能访问此目录。首先,创建根目录和分配适当的权限:

sudo mkdir -p /home/your_sftp_username/sftp
sudo chown root:root /home/your_sftp_username
sudo chmod 755 /home/your_sftp_username
sudo mkdir /home/your_sftp_username/sftp/uploads
sudo chown your_sftp_username:sftpusers /home/your_sftp_username/sftp/uploads

修改SSH配置以启用SFTP

/etc/ssh/sshd_config文件的末尾,添加以下配置以启用SFTP并限制用户到指定目录:

Match Group sftpusers
    ChrootDirectory /home/%u
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    PermitTunnel no
    AllowAgentForwarding no

保存并关闭文件。这些配置会将 sftpusers组的用户限制在他们的家目录中,并只允许SFTP访问。

3. 重启SSH服务

配置完成后,需要重启SSH服务以应用更改:

sudo systemctl restart ssh

4. 测试SFTP连接

使用SFTP客户端或命令行工具测试刚才配置的用户连接。可以使用以下命令从客户端测试:

sftp your_sftp_username@your_server_ip

替换 your_sftp_username为您创建的SFTP用户名,your_server_ip为您的Ubuntu服务器IP地址。

如果一切配置正确,您应该能够成功连接到SFTP服务器,并且仅能访问到指定的上传目录。

通过遵循上述步骤,您不仅成功在Ubuntu系统上启用了SFTP服务,还通过使用专用用户和权限管理,确保了高级别的安全性和数据保护。这个过程虽然涉及多个步骤,但每一步都是为了确保安全和高效的文件传输。

云服务器/高防CDN推荐

蓝易云国内/海外高防云服务器推荐


海外免备案云服务器链接:www.tsyvps.com

蓝易云安全企业级高防CDN:www.tsycdn.com

持有增值电信营业许可证:B1-20222080【资质齐全】

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2024 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏