ubuntu 18 04裝ftp伺服器 外網訪問

2021-08-28 02:07:38 字數 2627 閱讀 9401

以下是操作記錄:

sudo apt-get install vsftpd

sudo vim /etc/vsftpd.conf

修改為以下內容

listen=yes

anonymous_enable=no

local_enable=yes

write_enable=yes

download_enable=no

dirmessage_enable=yes

use_localtime=yes

xferlog_enable=yes

connect_from_port_20=yes

xferlog_file=/var/log/vsftpd.log

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd.chroot_list

allow_writeable_chroot=yes

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

local_root=/home/ftpout/data

修改路由器**設定

winscp連線報錯:連線失敗 oops: cannot change directory:/***

嘗試1:修改許可權

sudo chown -r ftpout:ftpout /media/smartclass/video_data

結果:錯誤依然,完全相同

嘗試2:

sudo apt install policycoreutils

sudo setsebool -p ftpd_disable_trans 1

sudo service vsftpd restart

結果:錯誤依然,完全相同

嘗試3:

sudo chmod 755 /media/smartclass/

結果:出現另乙個錯誤:illegal port command.

上傳資料則會出現

server sent passive reply with unroutable address 192.168.1.xx, using host address instead.

無法開啟傳輸通道。原因:由於目標計算機積極拒絕,無法連線。

監測到超時! (控制連線)

複製檔案到遠端時錯誤。

已解決,解決方案如下:

sudo vim /etc/vsftpd.conf

修改為以下內容

cat /etc/vsftpd.conf | grep -v 『^#』(這句的意思是列印出檔案裡面非以#開頭的行,意思就是下面是conf檔案的非注釋行)

listen=yes

anonymous_enable=no

local_enable=yes

write_enable=yes

download_enable=no

dirmessage_enable=yes

use_localtime=yes

xferlog_enable=yes

port_enable=yes

connect_from_port_20=yes

ftp_data_port=55537

xferlog_file=/var/log/vsftpd.log

ascii_upload_enable=yes

ascii_download_enable=no

chroot_list_enable=yes

chroot_list_file=/etc/vsftpd.chroot_list

allow_writeable_chroot=yes

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

local_root=/media/smartclass/video_data

pasv_enable=yes

pasv_address=xx.xx.xx.xx

pasv_max_port=32469

pasv_min_port=32467

路由器埠對映除了ftp協議的21埠需要對外對映以外,還需要把pasv對應的資料埠對映出去,如下圖

最後,重啟ftp:sudo service vsftpd restart

外網訪問連線ftp時,比如用winscp訪問,直接用預設的被動模式就好,不需要刻意修改為主動模式。

另外,中文亂碼和無法上傳的問題:

winscp中解決方案如下:選擇高階設定->開啟檔名uft-8編碼

補充:參考:

ubuntu18 04系統裝docker指令碼

bin bash sudo apt get purge docker ce 刪除對用的資訊檔案 應用程式 sudo apt remove docker y sudo apt remove docker client y sudo apt remove docker client latest y s...

Ubuntu(18 04) 安裝FTP伺服器

最近用到實驗室的伺服器比較多,並且需要來回傳輸檔案,現將傳輸方法記錄一下 我們可以在伺服器上安裝ftp服務,然後windows訪問即可,前提是在同乙個區域網內,一般學校的實驗室都是學校內網,都在同乙個區域網內。sudo apt get install vsftpd 注意 如果沒有換源的可以先換源,然...

Ubuntu18 04 系統安裝

swap 4096 55g 需要放各種軟體 sudo apt get update sudo apt get install openssh server 無法獲得鎖 var lib dpkg lock open 11 資源暫時不可用 e 無法鎖定管理目錄 var lib dpkg 是否有其他程序正...