vsftpd-ssl——记录一次安装vsftpd配置ssl过程与坑

一、关于vsftpd安装

不同linux系统安装方法

复制代码
ubuntu       apt-get install vsftpd

         apt-get --purge remove vsftpd


centos       yum list vsftpd        

             yum install -y vsftpd.x86_64
复制代码

创建ftp用户

mkdir /home/ftpdir
useradd -d /home/ftpdir -s /bin/bash user1
passwd user1
chmod -R 777 /home/ftpdir

重启与查看状态

service vsftpd restart  && service vsftpd status

 

 

二、关于vsftpd的配置文件

/etc/vsftpd/vsftpd.conf

复制代码
write_enable=YES

userlist_file=/etc/vsftpd/vsftpd.user_list
userlist_enable=YES
userlist_deny=NO

pasv_enable=yes
#pasv_address=47.104.69.197 pasv_min_port
=39000 pasv_max_port=40000 ssl_enable=YES allow_anon_ssl=NO force_local_logins_ssl=YES force_local_data_ssl=YES rsa_cert_file=/etc/ssl/vsftpd/cli.pem rsa_private_key_file=/etc/ssl/vsftpd/cli.pem
复制代码

 

 

三、关于ssl证书

p12证书 导出 pem证书命令

openssl pkcs12 -in client.p12 -password pass:123456 -nodes -out cli.pem  

生成测试证书

cd /etc/ssl/
mkdir vsftpd
cd vsftpd/
openssl req -x509 -nodes -keyout vsftpd.key -out vsftpd.crt -days 365 -newkey rsa:2048
如果需要可以二合一
cat vsftpd.crt  vsftpd.key > vsftpd.pem

 证书格式说明

p12/pfx  二进制格式,包含证书本身,即CA签过名的公钥,私钥,以及一些附加信息;

pem      文本格式

从pfx中获取客户端证书
openssl pkcs12 -in client.pfx -password pass:11111111 -clcerts -nokeys -out cert.pem

从pfx中获取客户端私钥
openssl pkcs12 -in client.pfx -password pass:11111111 -nocerts -nodes -out key.pem

 

 

四、docker方式下

docker run -d \
-v /home/vsftpd:/home/vsftpd \
-p 20:20 -p 21:21 -p 39000-40000:39000-40000 \
-e FTP_USER=user3 -e FTP_PASS=123 \
-e PASV_ADDRESS=106.15.88.235 \
-e PASV_MIN_PORT=39000 -e PASV_MAX_PORT=40000 \
--name vsftpd --restart=always fauria/vsftpd

从宿主拷贝证书文件,编辑容器中的配置

docker cp /etc/ssl/vsftpd vsftpd:/etc/ssl/
docker exec -it vsftpd ls -ls  /etc/ssl
docker exec -it vsftpd ls -ls  /etc/ssl/vsftpd
docker exec -it vsftpd   vi  /etc/vsftpd/vsftpd.conf

启动、停止

docker stop vsftpd
docker ps -a
docker start vsftpd

 

五、常见报错

1、服务器发回了不可路由的地址,使用服务器地址代替

     出现该类问题,大多数是安全问题,多数是pure-ftpd。

  1)请在服务器运营商放行21端口

  2)请在服务器运营商放行39000/40000端口

 

 2、状态: 服务器发回了不可路由的地址。使用服务器地址代替。

  命令: LIST

  解决方法:更改Filezilla设置,编辑-设置-连接-FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。

 

posted @   会飞的斧头  阅读(1380)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示