Debianを使用してFTPを介してGoogle Compute Engineインスタンスにアクセスすることはできません。

Debianを使用してFTPを介してGoogle Compute Engineインスタンスにアクセスすることはできません。

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

おすすめ記事