分类:
2010-09-07 21:36:52
到官方下载最新版本的vsftpd源码包
# tar zxvf vsftpd-2.3.2.tar.gz
# cd vsftpd-2.3.2
# vi builddefs.h
修改builddefs.h文件,使VSFTPD支持SSL:
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL
修改为:
#undef VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#define VSF_BUILD_SSL
开始编译安装:
# make
# make install
mkdir /etc/vsftpd
mkdir /etc/vsftpd/ssl
cp vsftpd.conf /etc/vsftpd
cp RedHat/vsftpd.pam /etc/pam.d/vsftpd
2.创建SSL证书:
# /usr/local/openssl/bin/openssl req -new -x509 -nodes -out vsftpd.pem -keyout vsftpd.pem
# cp vsftpd.pem /etc/vsftpd/ssl/vsftpd.pem //默认vsftpd的配置文件中的证书路径# vi /etc/vsftpd/vsftpd.userlist //加入允许本地登录的用户名
# vi /etc/vsftpd.conf
3.以下是配置文件中的几个关键参数
listen=YES
listen_port=21
# 禁止anonymous登录
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
# 仅有vsftpd.user_list中制定的用户可登录vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd.userlist
local_enable=YES
write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ls_recurse_enable=NO
pam_service_name=vsftpd //这里一定要加上,不然连接的时候会报:
//[R] USER kevin
//[R] 331 Please specify the password.
//[R] PASS (hidden)
//[R] 530 Login incorrect.
//[R] 连接失败
ssl_enable=YES //SSL开关,开启ssl_enable,否则以下选项均无效
ssl_tlsv1=YES //另外几个选择 ssl_sslv2 ssl_sslv3
allow_anon_ssl=NO //是否让匿名用户使用ssl
force_local_data_ssl=YES //强制使用openssl加密数据
force_local_logins_ssl=YES //强制使用ssl登录
rsa_cert_file=/etc/vsftpd/ssl/vsftpd.pem //指定证书文件的路径
具体配置参数可以参考:
其中 /etc/vsftpd/vsftpd.userlist 目录上一定要把允许连接服务器的用记加上不然报错:
[R] USER kevin
[R] 530 Permission denied.
[R] 连接失败
vsftpd.userlist内容如下
kevin
dengxb
kevindeng
配置 基本完成
4.启动VSFTPD
/usr/local/sbin/vsftpd /etc/vsftpd/vsftpd.conf &
5.客户端使用Flashfxp连接
配置