简单的记录下,搭建 proFTPd 带 TLS 服务的过程
安装 proFTPd
1
| (sudo) apt-get install proftpd
|
回车后会弹出一个对话框,这里我是选择 standalone
配置 proFTPd
1
| (sudo) vim /etc/proftpd/proftpd.conf
|
修改下 FTP 用户操作权限,如:上传文件后的存放路径等。
1 2
| DefaultRoot ~ ServerIdent on "FTP Server ready."
|
第一行代表用户只能操作它的 home
目录
第二行隐藏 FTP 服务器的信息,包括使用的软件版本,系统等等信息。
安装 openssl
1
| (sudo) apt-get install openssl
|
为了使用 TLS 创建 SSL 证书
首页创建个目录,用于存放证书的
1
| (sudo) mkdir /etc/proftpd/ssl/
|
生成 SSL 证书
1
| (sudo) openssl req -new -x509 -days 365 -nodes -out /etc/proftpd/ssl/proftpd.cert.pem -keyout /etc/proftpd/ssl/proftpd.key.pem
|
根据提示回答一堆问题
1 2 3 4 5 6 7
| Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
|
回答问题完后
会在刚才创建的 ssl 目录多出两个文件来
修改这两个文件的权限
1
| sudo chmod 600 /etc/proftpd/ssl/proftpd.*
|
再次配置 proFTPd
再次打开 proftp.conf 配置文件
1
| (sudo) vim /etc/proftpd/proftpd.conf
|
找到下面这一行,把前面的注释去掉。
1
| Include /etc/proftpd/tls.conf
|
配置 tls
1
| (sudo) vim /etc/proftpd/tls.conf
|
修改配置文件如下:
1 2 3 4 5 6 7 8 9 10
| <IfModule mod_tls.c> TLSEngine on TLSLog /var/log/proftpd/tls.log TLSProtocol SSLv23 TLSOptions NoCertRequest AllowClientRenegotiations TLSRSACertificateFile /etc/proftpd/ssl/proftpd.cert.pem TLSRSACertificateKeyFile /etc/proftpd/ssl/proftpd.key.pem TLSVerifyClient off TLSRequired on </IfModule>
|
重启 proFTPd 服务
1 2 3 4
| sudo /etc/init.d/proftpd restart [ ok ] Stopping ftp server: proftpd. [....] Starting ftp server: proftpdserver1 proftpd[6052]: mod_tls_memcache/0.1: notice: unable to register 'memcache' SSL session cache: Memcache support not enabled . ok
|
如有以上提示,则需要编辑下 /etc/proftpd/modules.conf
文件
找到下面一行,在前面加上注释掉它
1 2 3
| …… #LoadModule mod_tls_memcache.c ……
|
下载 FileZilla 客户端,选择 TLS 验证登录一下
如果没有 FTP 账户,则新创建一个。
创建 FTP 用户
这里创建一个名为 ocean 的用户
1
| (sudo) useradd --shell /bin/false ocean
|
再给它创建 home 目录和指定用户组与权限
1 2
| (sudo) mkdir /home/ocean (sudo) chown ocean:ocean /home/ocean/
|
给新账户初始化密码
整个 proFTPd 带 TLS 服务的搭建过程到这里就结束了。
Have a nice day.!
参考资料