如何使用vsftpd在ubuntu 18.04上搭建SFTP服务器

安装FTP服务器

请参考我们的教程如何在Ubuntu 18.04安装FTP服务器

配置SSH守护程序

先安装SSH服务器:

$ sudo apt install ssh

为了配置FTP Over OpenSSH服务器,编辑现有的SSHD配置文件:

$ sudo nano /etc/ssh/sshd_config

并将以下内容添加到文件的末尾:

Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

上面内容确保属于“SFTP”组的用户将能够访问其所属目录,但它们将被拒绝SSH Shell访问权限。

重新启动SSH服务器以应用新更改:

$ sudo service ssh restart

创建SFTP用户帐户

创建一个名为“sftp”的新组:

$ sudo addgroup sftp
Adding group `sftp' (GID 1001) ...
Done.

接下来,创建新用户 sftpuser并将他分配给新创建的sftp组:

$ sudo useradd -m sftpuser -g sftp

为“SFTPUSER”用户设置新密码:

$ sudo passwd sftpuser 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

最后,将访问权限直接更改为用户的主机以拒绝访问它的任何其他用户:

$ sudo chmod 700 /home/sftpuser/

用户通过SFTP登录

使用sftp协议登录:

$ sftp sftpuser@ubuntu-sftp
The authenticity of host 'ubuntu-sftp (10.1.1.4)' can't be established.
ECDSA key fingerprint is SHA256:8SSv/iz6OGaF8m0TLcJNtRSitfTm59dOVa57WnRfUx8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ubuntu-sftp' (ECDSA) to the list of known hosts.
sftpuser@ubuntu-sftp's password: 
Connected to ubuntu-sftp.
sftp>

检查目录的读写权限:

sftp> cd sftpuser
sftp> mkdir sftp-test
sftp> ls
examples.desktop   sftp-test          
sftp>
日期:2020-07-07 20:55:39 来源:oir作者:oir