如何使用vsftpd搭建FTP服務(wù)器(TLS/SSL顯式加密)
使用vsftpd搭建FTP服務(wù)器(TLS/SSL顯式加密)
安裝vsftpd服務(wù)
使用vsftpd RPM安裝包安裝即可,如果可以訪問YUM鏡像源,通過dnf或者yum工具更加方便。
yum -y install vsftpd
啟動vsftpd、查看服務(wù)狀態(tài)
systemctl enable vsftpd systemctl start vsftpd systemctl status vsftpd
備份配置文件并進行配置
cp /etc/vsftpd/vsftpd.conf{,_bak}
~]# grep -E -v '^#|^$' /etc/vsftpd/vsftpd.conf
-- 默認放開的配置
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
-- 啟用 chroot,限制本地用戶到其主目錄,不配置allow_writeable_chroot,會報OOP:chroot()失敗錯誤。
chroot_local_user=YES
allow_writeable_chroot=YES
-- 可配可不配,用于放開哪些用戶可以不用chroot
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
-- 配置啟用TLS/SSL顯式加密
# 啟用 SSL 功能
ssl_enable=YES
force_local_logins_ssl=YES# 指定服務(wù)器的 RSA 證書文件
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem# 允許使用 SSL/TLS 協(xié)議的最低版本(可選,根據(jù)需要設(shè)置)
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=YES# 指定允許的加密套件(可選,根據(jù)需要設(shè)置)
ssl_ciphers=HIGH# 指定顯式加密場景下,動態(tài)數(shù)據(jù)連接監(jiān)聽端口范圍(默認范圍比較大)。
注:這里只需要配置范圍,不需要開啟被動模式(無需配置:pasv_enable=Yes)
pasv_min_port=30000
pasv_max_port=30999

重啟vsftpd服務(wù)
systemctl restart vsftpd
配置防火墻列外
如果不將動態(tài)數(shù)據(jù)連接監(jiān)聽端口范圍放開訪問會一直卡在獲取目錄列表上(vsftpd 讀取目錄列表失敗)。
firewall-cmd --add-port 21/tcp --permanent firewall-cmd --add-port 30000-30999/tcp --permanent firewall-cmd --reload
開啟SELinux的ftpd_full_access布爾值為on
setsebool -P ftpd_full_access on
或者干脆關(guān)掉SELinux。
setenforce 0
原因:
本地用戶訪問家目錄:當需要讓本地用戶能夠通過FTP訪問其家目錄時,僅在vsftpd配置文件中將local_enable設(shè)置為YES可能還不夠。因為SELinux默認會限制這種訪問,導(dǎo)致用戶無法正常登錄或訪問家目錄中的文件。啟用ftpd_full_access后,SELinux將允許FTP進程訪問用戶的家目錄,從而使用戶能夠正常進行文件傳輸?shù)炔僮鳌?/p>
使用WinSCP訪問


如果想使用命令行訪問呢?這個就比較復(fù)雜了,下面給大家補充介紹命令行以TLS/SSL顯式加密方式訪問FTP服務(wù)器。
命令行以TLS/SSL顯式加密方式訪問FTP服務(wù)器
昨天留了一個小尾巴~~就是在命令行或者代碼調(diào)用命令,以TLS/SSL顯式加密方式,訪問FTP服務(wù)器,上傳和下載文件。
有小伙伴可能說ftp命令不可以嗎?不可以哦~~
ftp 命令本身不支持顯式加密。要實現(xiàn) FTP 的顯式加密,可以使用支持 FTPS(FTP over SSL/TLS)的客戶端,比如 lftp。以下是使用 lftp 進行顯式加密連接的步驟:
安裝和配置lftp
1 安裝lftp
在 Debian/Ubuntu 系統(tǒng)上,運行以下命令安裝:
sudo apt-get update sudo apt-get install lftp
在 CentOS/RHEL 系統(tǒng)上,運行:
sudo yum install lftp
2 配置lftp
編輯/etc/lftp.conf配置文件,將如下配置追加到文件后面:
set ftps:initial-prot ""
set ftp:ssl-force true
set ftp:ssl-protect-data true
set ssl:verify-certificate no #輕易不要設(shè)置,除非報證書不可信,無法登錄ftp。
3 命令行方式登錄ftp
lftp -u 用戶名 IP或域名

附錄
1. set ftps:initial-prot ""
作用:設(shè)置FTP連接的初始保護模式。
解釋:此設(shè)置將初始保護模式留空,表示不指定特定的保護模式,允許使用默認的保護模式。FTP客戶端和服務(wù)器之間會協(xié)商確定實際使用的保護模式。
2. set ftp:ssl-force true
作用:強制使用SSL/TLS加密連接。
解釋:啟用此設(shè)置后,客戶端將只嘗試通過SSL/TLS加密的方式與FTP服務(wù)器建立連接。如果服務(wù)器不支持加密連接,客戶端將無法連接到服務(wù)器。這可確保數(shù)據(jù)傳輸?shù)陌踩?,但需要服?wù)器支持SSL/TLS以避免連接失敗。
3. set ftp:ssl-protect-data true
作用:啟用SSL/TLS加密保護數(shù)據(jù)連接。
解釋:啟用此設(shè)置后,客戶端會使用SSL/TLS加密保護數(shù)據(jù)傳輸過程,確保在文件傳輸過程中數(shù)據(jù)的安全性。
4. set ssl:verify-certificate no
作用:禁用SSL/TLS證書驗證。
解釋:此設(shè)置會跳過對SSL/TLS證書的驗證,允許客戶端與服務(wù)器連接,即使服務(wù)器的證書無效或不可信。在某些測試環(huán)境中,當證書尚未正確配置時,這會很有用。但它使連接易受中間人攻擊,因為無法驗證服務(wù)器的身份
到此這篇關(guān)于使用vsftpd搭建FTP服務(wù)器(TLS/SSL顯式加密)的文章就介紹到這了,更多相關(guān)vsftpd搭建FTP服務(wù)器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- CentOS7服務(wù)器環(huán)境下vsftpd安裝及配置方法
- Centos 通過 Nginx 和 vsftpd 構(gòu)建圖片服務(wù)器的教程(圖文)
- CentOS 7 安裝vsftpd 服務(wù)器的具體操作步驟
- 阿里云基于CentOS用vsftpd搭建FTP服務(wù)器
- Ubuntu 用vsftpd 配置FTP服務(wù)器教程詳解
- 阿里云服務(wù)器CentOS 6.3下快速安裝部署 LAMP 、vsftpd 環(huán)境的方法
- Shell腳本搭建FTP服務(wù)器(vsftpd)
- Linux編譯安裝vsftpd服務(wù)器(本地用戶驗證方式)
- 關(guān)于linux服務(wù)器下vsftpd的一些問題
相關(guān)文章
vsftp連接錯誤cannot locate user entry:vsftpd
這篇文章主要介紹了vsftpd登陸錯誤: 500 OOPS: cannot locate user entry:vsftpd問題的解決辦法,需要的朋友可以參考下2014-03-03
vsftp建立虛擬用戶不同目錄分配不同權(quán)限操作步驟詳解
這篇文章主要介紹了vsftp建立虛擬用戶不同目錄分配不同權(quán)限操作步驟詳解,大家參考設(shè)置自己的FTP服務(wù)器吧2013-11-11

