あひるちゃん、不調です…
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の接続設定をパッシブに変更しました。各サーバの接続設定の詳細設定を開くと、アクティブとパッシブの変更ができます。