其实主要就是记录一下今天上午研zhe究teng的东西。
1.关于SFTP的搭建
主要还是涉及到那台下载服务器。主要参考了DO官网配置指南。
虽然裸FTP没有被淘汰,但是大家可能不知道这东西连登录用户密码都是明文带在请求上面。所以安全性其实是真的没有的。因此就需要搭建一套SFTP方案,即通过TLS/SSL进行加密传输的FTP。这也是规避日本法律风险的一套常见方案.
我所采用的方案依然是通过vsftpd服务端实现,具体安装直接通过sudo apt-get install vsftpd
进行。配置文件位置可能是位于/etc/vsftpd/vsftpd.conf
也可能是 /etc/vsftpd.conf
或者别的什么地方。这里裸ftp的配置我就不赘述了,可以直接搜索vsftpd配置教程
即可,大致就是禁止匿名,允许本地用户直接登录之类的,然后建立ftp专用账户。
接下来就是生成证书。
首先建立文件夹(如存在就略过)
sudo mkdir /etc/ssl/private
接下来生成证书,和HTTPS的流程是一样的。
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
除了Common Name
之外都无所谓默认都行。
至于Common Name本身,要填你服务器的IP或者域名
接下来就是配置SSL了。
那么我们就直接sudo vi vsftpd.conf
,
输入/rsa_cert_file
找到并修改这两行
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
接下来强制使用ssl登录和传输
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
接下来是使用TLS拒绝纯SSL(按DO那个教程的说法更安全)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
最后加上
require_ssl_reuse=NO
ssl_ciphers=HIGH
然后保存退出。
重启服务即可
sudo /etc/init.d/vsftpd restart
需要注意的是,在连接的时候我遇到了
GnuTLS Error -15: An unexpected TLS packet was received.
的报错,似乎是协议选择的问题,后直接在站点类型选择SFTP
就能顺利连接了。
2.BONUS - VIM随笔
每日vim命令dw
删除当前光标后的一个单词d$
/D
删到行尾d0
删到行首