共计 3600 个字符,预计需要花费 9 分钟才能阅读完成。
本教程介绍了如何安装和安全使用的 ProFTPd。FTP 没有 TLS 是不安全的,因为所有的密码和所有数据以明文传输。通过使用 TLS,整个通信可以被加密,因此 FTP 使得安全得多。本文介绍如何设置使用的 ProFTPd TLS 搭建 Ubuntu 16.04 的 ftp 服务器,如何添加一个 FTP 用户,并使用 FileZilla 中与 TLS 安全连接上。
1 初步说明
在本教程中,我将使用的 IP 地址为 192.168.1.100 的主机名 server1.example.com。这些设置可能与你的不同,所以你不得不在适当情况下更换他们。
因为我们必须从本教程以 root 权限运行的所有步骤,建议切换到 Root 账户:
sudo -s
我将使用 nano 编辑在本教程中编辑配置文件。如果你喜欢使用 nano 也并没有安装它,然后运行这个命令来安装 nano。
apt-get -y install nano
2 安装 ProFTPd 和 OpenSSL
OpenSSL 是 TLS 的前提; 安装 ProFTPd 的和 OpenSSL,我们只需运行:
apt-get -y install proftpd openssl
系统将询问:
Run proftpd:
出于安全原因,你应该添加以下行到文件 /etc/proftpd/proftpd.conf 中:
nano /etc/proftpd/proftpd.conf
配置内容:
[...] | |
DefaultRoot ~ | |
ServerIdent on "FTP Server ready." | |
[...] |
3 为 TLS 创建 SSL 证书
为了使用 TLS,我们必须创建一个 SSL 证书。我创建它在 /etc/proftpd/ssl,因此,我首先创建一个目录:
mkdir /etc/proftpd/ssl
随后,如下我们可以生成 SSL 证书:
openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
系统将会询问:
Country Name (2 letter code) [AU]: <– Enter your Country Name (e.g.,“DE”).
State or Province Name (full name) [Some-State]:<– Enter your State or Province Name.
Locality Name (eg, city) []:<– Enter your City.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<– Enter your Organization Name (e.g., the name of your company).
Organizational Unit Name (eg, section) []:<– Enter your Organizational Unit Name (e.g.“IT Department”).
Common Name (eg, YOUR name) []:<– Enter the Fully Qualified Domain Name of the system (e.g.“server1.example.com”).
Email Address []:<– Enter your Email Address.
确保生成的证书文件。
chmod 600 /etc/proftpd/ssl/proftpd.*
4 ProFTPd 启用 TLS
为了使 ProFTPd 使用 TLS,打开 /etc/proftpd/proftpd.conf…
nano /etc/proftpd/proftpd.conf
…并取消 Include /etc/proftpd/tls.conf 行:
[...] | |
# | |
# This is used for FTPS connections | |
# | |
Include /etc/proftpd/tls.conf | |
[...] |
然后打开 /etc/proftpd/tls.conf 并使它看起来如下:
nano /etc/proftpd/tls.conf
编辑内容如下:
<IfModule mod_tls.c> | |
TLSEngine on | |
TLSLog /var/log/proftpd/tls.log | |
TLSProtocol TLSv1.2 | |
TLSCipherSuite AES128+EECDH:AES128+EDH | |
TLSOptions NoCertRequest AllowClientRenegotiations | |
TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem | |
TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem | |
TLSVerifyClient off | |
TLSRequired on | |
RequireValidShell no | |
</IfModule> |
如果您使用 TLSRequired,然后只 TLS 连接被允许(这将锁定老 FTP 客户端不具有 TLS 支持任何用户); 注释掉该行或使用 TLSRequired 同时关闭 TLS 和非 TLS 连接取决于什么 FTP 客户端支持是允许的。
重新启动后 ProFTPd:
systemctl restart proftpd.service
现在,您可以尝试使用您的 FTP 客户端来连接; 但是,您应该配置您的 FTP 客户端使用 TLS(这是必须的,如果你使用 TLSRequired 上)– 见下一章如何与 FileZilla 中做到这一点。
如果您在使用 TLS 的问题,你可以看看在 TLS 日志文件 /var/log/proftpd/tls.log。
5 添加一个 FTP 用户
因此,在教程中使用 ProFTPD 的配置验证对 Linux 系统的用户数据库用户(/ etc / passwd 和 / etc / shadow 文件)。在这一步,我将增加仅用于 FTP 登录用户“tom”。
useradd --shell /bin/false tom
然后,我们要创造我们的用户“tom”的主目录,并修改该目录的所有权给用户和组“tom”。
mkdir /home/tom
chown tom:tom /home/tom/
如果你喜欢设置不同的主目录,使用下面的命令:
useradd --home /srv/tomftp --create-home --shell /bin/false tom
该命令设置一个不同的主目录,在该示例的情况下为用户的目录 / SRV/ TFTP。
下一步骤是为用户,执行 passwd 命令设置口令:
passwd tom
6 为 FileZilla 配置 TLS
为了使用 FTP 使用 TLS,您需要支持 TLS,如 FileZilla 的 FTP 客户端。
在 FileZilla 中,打开站点管理器:
选择使用 ProFTPd 的使用 TLS 的服务器; 选择 FTP 作为协议和 FTP 上需要明确 TLS。
现在,您可以连接到服务器,FileZilla 中会要求输入密码。
如果您是第一次做到这一点,你必须接受服务器的新的 SSL 证书:
如果一切顺利的话,你现在应该记录在服务器上:
[翻译]CentOS 7.0 上安装 ProFTPD http://www.linuxidc.com/Linux/2014-12/110046.htm
Linux 下 ProFTPD 安装与配置 http://www.linuxidc.com/Linux/2013-06/86534.htm
Ubuntu 12.04 下 ProFTPD FTP 服务器配置 http://www.linuxidc.com/Linux/2013-03/81302.htm
Ubuntu 安装搭建 ProFTPD 服务器 http://www.linuxidc.com/Linux/2012-12/77113.htm
Ubuntu 16.04 LTS 正式发布下载 ,长达 5 年技术支持 http://www.linuxidc.com/Linux/2016-04/130508.htm
Ubuntu 16.04 U 盘安装图文教程 http://www.linuxidc.com/Linux/2016-04/130520.htm
Ubuntu 16.04 LTS 安装好需要设置的 15 件事 http://www.linuxidc.com/Linux/2016-04/130519.htm
将 Ubuntu 15.10 升级到 Ubuntu 16.04 http://www.linuxidc.com/Linux/2016-03/129158.htm
Ubuntu 16.04 安装 Lua 游戏引擎 Love http://www.linuxidc.com/Linux/2016-03/129108.htm
更多 Ubuntu 相关信息见 Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/131381.htm
