目的
目的是使用VSFTPD ftp守护程序通过SSH协议配置SFPT服务器。
操作系统和软件版本
- 操作系统:-Ubuntu 18.04仿生
要求
以下SFTP配置过程假设您已经按照我们的说明配置了FTP服务器如何在Ubuntu 18.04 Bionic Beaver上设置FTP服务器指南。以root或通过特权访问Ubuntu系统sudo
命令也是必需的。
困难
简单
约定
使用说明
配置FTP服务器
本教程是第2部分,通过安全SSH协议进行FTP。因此,请确保您已经使用我们的配置了FTP服务器如何在Ubuntu 18.04 Bionic Beaver上设置FTP服务器在继续之前进行指导。
配置SSH守护程序
如果尚未这样做,请安装SSH服务器:
$ sudo apt install ssh
接下来,为了通过OpenSSH服务器配置FTP,请使用您喜欢的文本编辑器来编辑现有的SSHD配置文件/etc/ssh/sshd_config
:
$ 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服务的新用户帐户。让我们从创建一个新的组开始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登录
我们的新用户名和用户名sftpuser
现在可以通过以下方式登录到我们的新SFTP服务器了sftp://
协议。鉴于您的新SFTP服务器可以通过例如解析。主机名ubuntu-sftp
采用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>
另一种选择是使用任何GUI FTP客户端建立SFTP连接。最简单的方法是使用应已安装在系统上的Nautilus文件管理器:
打开Nautilus并单击Other Locations
。输入sftp://SFTP-SERVER-HOSTNAME-OR-IP-ADDRESS
然后点击Connect
。
输入SFTP用户的凭据,然后单击Connect
导航到您的主目录