Google Compute Engine インスタンスで vsftpd を設定しようとすると、FTP サーバーに完全に接続できません。 FileZillaを使用してログインしようとした後、次の応答を受け取ります。
Status: Connecting to ***.***.***.***:21...
Status: Connection established, waiting for welcome message...
Response: 220 (vsFTPd 2.3.5)
Command: USER anonymous
Response: 331 Please specify the password.
Command: PASS **************
Response: 230 Login successful.
Command: SYST
Response: 215 UNIX Type: L8
Command: FEAT
Response: 211-Features:
Response: EPRT
Response: EPSV
Response: MDTM
Response: PASV
Response: REST STREAM
Response: SIZE
Response: TVFS
Response: UTF8
Response: 211 End
Command: OPTS UTF8 ON
Response: 200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command: PWD
Response: 257 "/"
Command: TYPE I
Response: 200 Switching to Binary mode.
Command: PASV
Error: Connection timed out
Error: Failed to retrieve directory listing
これは、vsftpdを新しくインストールしたことに注意してください。
ベストアンサー1
解決策は、設定ファイルでPASVスタイルのデータ接続にvsftpdによって割り当てられたポートを制限することです。 vsftpd.conf に次の 2 行を追加します。
pasv_min_port=12000
pasv_max_port=12100
次に、Google Developers Consoleの「ネットワーク」、「ファイアウォールルール」で対応するポートを開く必要があります(図を参照)。
PASV コマンドに応答して vsftpd が広告する IP アドレスをオーバーライドするには、次の行を追加する必要があります。
pasv_address=xxx.xxx.xxx.xxx
VMインスタンスの外部IPを入力します。
セキュリティ上の理由から、FTPポート21の代わりに211も使用します。
受信ポート=211