服務器:CentOS 7.2 64 位
FTP服務端:vsftpd
客戶端:FileZilla
文章最后是我遇到的兩個問題及解決方案
安裝vsftpd
- 安裝
yum install vsftpd -y
- 啟動
service vsftpd start
- 確認
netstat -tunlp
(program name有vsftpd) - 測試
telnet 公網IP 21
(返回220)
配置vsftpd
輸入:vi /etc/vsftpd/vsftpd.conf
按i或a進入編輯模式罐韩,底部有個insert
標識激挪,將文件中的anonymous_enable=YES
改為 anonymous_enable=NO
(只把YES改成NO就行了锥累,其他不動),修改完成后按下【Esc】退出,然后在底部輸入:wq!
保存退出操作斯辰。
本次更改內容為:不允許匿名登錄
關于linux和Xshell的更多操作請參考:
我的linux也是入門水平帆焕,只是最近經常用才有所提高,如有錯誤敬請指出
添加用戶
- 添加用戶
useradd -m -d /home/用戶名 -s /sbin/nologin 用戶名
- 設置密碼
passwd 用戶名
然后輸入密碼即可
問題
- 問題1:測試telnet連接不上
一般安裝啟動沒什么問題找田,在windows測試連接的時候總是連接不上歌憨,后來發(fā)現(xiàn)是因為我啟動了安全組沒有配置21端口,因為服務器被攻擊過一次墩衙,后來就配置了安全組务嫡,安全組中沒有配置21端口。
解決方案:在安全組策略中加上21端口即可漆改,F(xiàn)TP屬于TCP協(xié)議心铃。
- 問題2:本地ftp客戶端讀取目錄失敗,連接超時
問題出現(xiàn)在 PASV 命令處挫剑。原因在于 FTP 協(xié)議在部分網絡架構上的不適去扣,我用的騰訊云。
FTP 客戶端默認被動模式傳輸樊破,因此在通信過程中會去尋找服務器端的 IP 地址進行連接愉棱,但是由于騰訊云的外網 IP 不是直接配在網卡上,因此在被動模式下客戶端無法找到有效 IP (只能找到云服務器內網 IP 哲戚,內網 IP 無法直接和外網通信)奔滑,故無法建立連接。
解決方案:
- 將客戶端傳輸模式改為主動即可惫恼;
- 如果客戶端網絡環(huán)境要求被動模式档押,輸入
vi /etc/vsftpd/vsftpd.conf
新增這些語句:
pasv_address=外網 IP
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048
然后保存,重啟,稍等一會兒就可以正常連接了