阿里雲Linux服務器ftp配置,通過windows FlashFXP進行連接的方法

一、基本安裝

1.運行以下命令安裝 vsftpd。
sudo apt-get install vsftpd

2.查看相關配置文件
ls /etc/vsftpd.conf
/etc/vsftpd.conf 是核心配置文件。

3.安裝systemctl
sudo apt-get install systemd

4.運行以下命令設置開機自啓動。
systemctl enable vsftpd

5.運行以下命令啓動 FTP 服務。
systemctl start vsftpd

6.運行以下命令查看 FTP 服務端口。
netstat -antup | grep ftp

7.配置本地用戶登錄
本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 服務器。
vsftpd 安裝後默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄服務器,將會被 vsftpd 拒絕,但可以在 vsftpd 裏配置用戶賬號和密碼登錄。具體步驟如下:

a.運行以下命令創建 ftp用戶。
mkdir /home/ftp
chmod 777 /home/ftp
useradd -m -d /home/ftp -s /bin/sh -g root ftp
(刪除用戶命令:sudo userdel -r ftp)
b.運行以下命令修改 ftptest 用戶密碼。
passwd ftp

7.修改/etc/vsftpd.conf
a.運行vi /etc/vsftpd/vsftpd.conf。
b.按鍵 “i” 進入編輯模式。
c.將是否允許匿名登錄 FTP 的參數修改爲anonymous enable=NO。
d.將是否允許本地用戶登錄 FTP 的參數修改爲local_enable=YES。
e.添加allow_writeable_chroot=YES,否則會報500 OOPS: vsftpd: refusing to run with writable root inside chroot ()錯誤
f.按鍵 “Esc” 退出編輯模式,然後按鍵“:wq” 保存並退出文件。
g.運行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件內容。

二、基本配置
完成vsftpd安裝後發現無法遠程連接,仍需要完成以下配置。

原因分析:
FTP連接方式分爲:主動模式和被動模式。默認爲被動模式。

如果爲被動模式,服務器端必須監聽至少一個額外的被動模式端口。所以,若只開通20和21端口是不夠的,需要另外配置入站端口。

阿里雲服務器安全組配置:
進入本實例安全組,點擊配置規則,按照如下進行配置:
在這裏插入圖片描述

在阿里雲安全組中,開啓8800/8899,20/21 端口 ,也可自定義(後面配置需要用到),僅做參考。

備註參考信息:

FTP的連接一般是有兩個連接的,一個是客戶程和服務器傳輸命令的,另一個是數據傳送的連接。FTP服務程序一般會支持兩種不同的模式,一種是Port模式,一種是Passive模式(Pasv Mode),我先說說這兩種不同模式連接方式的分別。
先假設客戶端爲C,服務端爲S.
Port模式:
當客戶端C向服務端S連接後,使用的是Port模式,那麼客戶端C會發送一條命令告訴服務端S(客戶端C在本地打開了一個端口N在等着你進行數據連接),當服務端S收到這個Port命令後 就會向客戶端打開的那個端口N進行連接,這種數據連接就生成了。
Pasv模式:

當客戶端C向服務端S連接後,服務端S會發信息給客戶端C,這個信息是(服務端S在本地打開了一個端口M,你現在去連接我吧),當客戶端C收到這個信息後,就可以向服務端S的M端口進行連接,連接成功後,數據連接也建立了。

參考鏈接:https://blog.csdn.net/binsoft/article/details/44595677 (貌似也是轉載的,找不到原文…)

添加配置信息 修改配置文件 vim /etc/vsftpd/vsftpd.conf

在文件末尾添加:
pasv_enable=YES
pasv_min_port=8800
pasv_max_port=8899

解釋:
8800/8899 爲上面安全組添加的端口號
pasv_enable=YES|NO
YES,允許數據傳輸時使用PASV模式。NO,不允許使用PASV模式。默認值爲YES。
pasv_min_port=port number
pasv_max_port=port number

設定在PASV模式下,建立數據傳輸所可以使用port範圍的下界和上界,0 表示任意。默認值爲0。把端口範圍設在比較高的一段範圍內,比如50000-60000,將有助於安全性的提高。

完成以上配置,基本可以實現遠程連接FTP。對了,配置完成記得重啓服務器systemctl restart vsftpd

三、配置 vsftpd 限制 FTP 賬戶訪問其它目錄

使用 vsftpd 搭建 FTP 服務,可以配置用戶登錄後,限制訪問其它的目錄,只能進它的主目錄。 配置方法如下:

1、打開 vsftp 的配置文件 vim /etc/vsftpd/vsftpd.conf 找到 chroot Chroot_local_user
設置所有的本地用戶都執行 chroot chroot_local_user=yes (本地所有帳戶都只能在自家目錄)

2、設置指定用戶執行 chroot
找到並修改 chroot_list_enable=yes

3、chroot_list_file=/ 任意指定的路徑 /chroot_list (文件中的名單可以調用)
注意:vsftpd.chroot_list 是沒有創建的需要自己創建。若不想限制個別用戶,將用戶名添加到vsftpd.chroot_list文件中,每個用戶名一行。

4、在文件末尾添加

allow_writeable_chroot=YES #對vsftpd有用,否則,因home目錄權限爲root權限而無法登錄

5、爲 /home/ftptest 添加權限

6.重啓服務器

systemctl restart vsftpd

綜上,ftp就配置好了

拓展資料:vsftpd修改默認端口

1、編輯/etc/vsftpd/vsftpd.conf 文件,在該配置文件末尾添加此行:listen_port=6709

2、編輯/etc/services 文件,將其中的
ftp 21/tcp 改爲 ftp 6709/tcp ,
ftp 21/udp 改爲 ftp 6709/udp

3、重新啓動vsftpd 服務。
4、運行命令 netstat -tnulp | grep vsftpd
可以查看到現在系統現監聽的vsftpd 的端口爲6709

5、最後不要忘記到阿里雲安全組添加6709端口號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章