配置SFTP的笔记(vim随笔附) 时间: 2018-05-10 11:29 分类: 运维笔记 其实主要就是记录一下今天上午研zhe究teng的东西。 ##1.关于SFTP的搭建 主要还是涉及到那台下载服务器。主要参考了[DO官网配置指南](https://www.digitalocean.com/community/tutorials/how-to-configure-vsftpd-to-use-ssl-tls-on-a-centos-vps "DO官网配置指南")。 虽然裸FTP没有被淘汰,但是大家可能不知道这东西连登录用户密码都是明文带在请求上面。**所以安全性其实是真的没有的。**因此就需要搭建一套SFTP方案,即通过TLS/SSL进行加密传输的FTP。这也是规避日本法律风险的一套常见方案. 我所采用的方案依然是通过vsftpd服务端实现,具体安装直接通过`sudo apt-get install vsftpd`进行。配置文件位置可能是位于`/etc/vsftpd/vsftpd.conf` 也可能是 `/etc/vsftpd.conf`或者别的什么地方。这里裸ftp的配置我就不赘述了,可以直接搜索`vsftpd配置教程`即可,大致就是禁止匿名,允许本地用户直接登录之类的,然后建立ftp专用账户。 接下来就是生成证书。 首先建立文件夹(如存在就略过) ```bash sudo mkdir /etc/ssl/private ``` 接下来生成证书,和HTTPS的流程是一样的。 ```bash 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 ``` 然后保存退出。 重启服务即可 ```bash sudo /etc/init.d/vsftpd restart ``` > 需要注意的是,在连接的时候我遇到了`GnuTLS Error -15: An unexpected TLS packet was received.`的报错,似乎是协议选择的问题,后直接在站点类型选择`SFTP`就能顺利连接了。 ## 2.BONUS - VIM随笔 每日vim命令 `dw` 删除当前光标后的**一个单词** `d$`/`D`删到行尾 `d0` 删到行首 标签: 运维 Linux ftp vim