ネットと副業

FTPのパッシブとアクティブの違い

あひるちゃん、不調です…

FTPクライアントは無料のCyberduckを好んで使用しております。

https://cyberduck.io/index.ja.html?l=ja

FTPの設定にはとんと無頓着で、とくに細かい設定もせずに、サーバにファイルアップロードできればそれでOK( ゚∀゚)ってノリで使ってます。

その軽い考えを見直せと、神の啓示でしょうか。

環境の変化

どうやら社内のセキュリティレベルがアップグレードしたらしく、Cyberduckがサーバーとつながらなくなりまして。正確にいうと、サーバー内のファイル一覧は閲覧できるんですが、ファイルをアップロードしようとしても、できない。です(´д⊂)
ファイルを閲覧できるってことは、サーバーにはつながってるってことですかね。。。

細かいことを知らないままではまずいだろ、ということでFTPについて復習します。

FTP接続のアクティブとパッシブの違い

FTPというのは、FTPサーバとFTPクライアントの間でデータのやりとりをすることです。

CyberduckなどのFTPクライアントを使用してFTPサーバにデータをアップしたりデータを落とす際に、2段階の工程(コネクション)をふみます。

まずコントロールコネクション。
サーバーにログインする際のIDやパスワードなどをやりとりします。

2つめはデータコネクション
実際のデータをやりとりします。

で、そのデータコネクションに、アクティブモードパッシブモードの2種類があります。FTPサーバ側からFTPクライアントに接続する場合はアクティブモード。FTPクライアントからFTPサーバ側に接続する場合はパッシブモードになります。

アクティブモードの場合、コントロールコネクションに21番ポートを使い、データコネクションに20番ポートと決め打ちで使用します。
パッシブモードの場合、データコネクションのポート番号はランダムになります。

これがFTPのアクティブとパッシブの違いになります。

何でデータ送信ができなかったのか

社内LANなどでセキュリティの壁がある場合、外部からポートを指定して接続できない場合があります。そうなると、アクティブモードで接続しようとすると、ポートを指定して接続しようとするので、FTPサーバに接続できないようです。

早速Cyberduckの接続設定をパッシブに変更しました。各サーバの接続設定の詳細設定を開くと、アクティブとパッシブの変更ができます。