• vsftpdssl——记录一次安装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地址来代替”改为“回到主动模式”即可。

  • 相关阅读:
    schema的详解
    递归删除文件
    如何写一个schema文件
    如何写一个dtd文件
    WebService随笔记录
    文件分割
    三级数据显示
    数据库锁表查询及解除方法
    list分页
    JXLS模板导出多个sheet文件
  • 原文地址:https://www.cnblogs.com/xingchong/p/15544558.html
Copyright © 2020-2023  润新知