- 本地主機:Window 10
- FileZilla版本:3.39.0 64位
- 遠程主機:CentOS 6.4 需安裝FTP服務
小提示:查看CentOS版本命令 # cat /etc/issue
FileZillaClient 是一款能夠通過FTP、STFP 遠程連接主機的免費開源軟件
-
通過FTP協議連接的方法
FTP 百科介紹:
FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP服務器上的資源。
默認情況下FTP協議使用TCP端口中的 20 和 21這兩個端口,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的端口與FTP使用的傳輸模式有關,如果采用主動模式,那么數據傳輸端口就是20;如果采用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。
這里提到了主動和被動模式,那就簡單的介紹一下吧:
主動模式(Standard):就我淺見,客戶端用 21端口與服務端建立連接,服務端通過 20端口向客戶端發送數據。
被動模式(Passive):建立連接同上,之后客戶端發送Pasv命令,服務端收到Pasv命令后,隨機打開一個高端端口(大於1024,需自行設置)向客戶端發送數據。
ps:被動模式需要手動在服務端配置,方法如下:
# vim /etc/vsftpd/vsftpd.conf
在最底部加上
pasv_min_port=30000
pasv_max_port=30999
表示被動模式服務端口范圍為30000~30999(可以隨意改,大於1024即可)
重啟一下vsftpd
# service vsftpd restart
防火牆 iptables 也要相應的開啟這個端口范圍
# vim /etc/sysconfig/iptables
添加下行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT
主動模式的端口也要開啟 分別是 20 21
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20:21 -j ACCEPT
防火牆 iptables 重啟一下
# service iptables restart
不放心的可以查看一下端口是否開啟
# service iptables status
用戶授權
要連上 FTP 服務器(即“登陸”),必須要有該 FTP 服務器授權的帳號,也就是說你只有在有了一個用戶標識和一個口令后才能登陸FTP服務器,享受FTP服務器提供的服務。
添加用戶 ftpuser
# useradd -m ftpuser
修改密碼
# passwd ftpuser
准備工作基本做好了,下面使用 FileZilla 進入遠程連接測試,
下載,打開軟件
【主動模式】
先測試主動模式,點擊軟件選項 編輯—>設置—>FTP 選擇【主動】,然后輸入如下內容,點擊快速連接

![]()
如果報錯,連接不上,如下

可能是由於selinux的原因,解決如下
修改selinux:
執行以下命令查看狀態:
# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
執行上面命令,在上面返回的結果可以看到紅色的兩行都是off,代表沒有開啟外網的訪問
開啟即可,執行下面兩條命令去開啟
# setsebool -P allow_ftpd_full_access on
# setsebool -P ftp_home_dir on
selinux相關介紹和操作 https://blog.csdn.net/boomjane_testingblog/article/details/52859977
再次進行連接,成功

【被動模式】
因為上面,我們已經設置了被動模式所需要的端口范圍 30000:30999 所以直接進入測試環節
點擊軟件選項 編輯—>設置—>FTP 選擇【被動】

輸入內容不變,點擊連接,成功

補充 通過瀏覽器連接服務端,地址欄輸入
ftp://用戶:密碼@ip:21
2. 通過SFTP連接的方法
SFTP 百科介紹:
sftp是Secure File Transfer Protocol的縮寫,安全文件傳送協議。可以為傳輸文件提供一種安全的網絡的加密方法。sftp 與 ftp 有着幾乎一樣的語法和功能。SFTP 為 SSH的其中一部分,SFTP本身沒有單獨的守護進程,它必須使用sshd守護進程(端口號默認是22)來完成相應的連接和答復操作,SFTP同樣是使用加密傳輸認證信息和傳輸的數據,所以,使用SFTP是非常安全的。但是,由於這種傳輸方式使用了加密/解密技術,所以傳輸效率比普通的FTP要低得多,如果您對網絡安全性要求更高時,可以使用SFTP代替FTP。
總結:SFTP是SSH的一部分,端口是 22,加密傳輸,安全可靠,效率低於FTP。
確定遠程主機是否安裝了SSH服務(centos一般默認已安裝)
ssh安裝請參照 https://blog.csdn.net/xiaoyu19910321/article/details/76944141
搞定ssh后,進行連接,端口號改為22,其余不變
![]()
連接成功后,注意主機地址欄開頭會自動顯示 sftp,以便於讓我們知道當前的連接方式
![]()
好了,以上就是 FileZillaClient 的基礎使用方法,如有不足,請不吝賜教。
