「FTPプロキシ」は、FTP自体を話すゲートウェイを指すことがあります。それへの接続は、HTTPプロキシにCONNECTを求めることや、SOCKSサーバーにTCPの宛先を開くよう求めることとは異なります。

ゲートウェイには対象ホストとアカウントが必要で、先に自分自身のログインを要求する場合もあります。製品はこの会話をさまざまな形で表現します。

構成典型的なコマンド形式
ユーザー名に対象を埋め込むUSER target-user@target-host
ゲートウェイへの別個のログインゲートウェイのUSER/PASS、続いて対象のログイン
明示的な宛先コマンドSITE target-host または OPEN target-host、続いて必要なログイン

これらは慣例の系統であり、すべてのゲートウェイに送る単一の標準手順ではありません。管理者が文書化し、クライアントが対応している方式を選んでください。

設定の中で両方のアカウントを見える状態に保つ

対象のFTPパスワードとゲートウェイのパスワードは異なることがあります。両者を一つのUSER/PASS表現にまとめるゲートウェイもあれば、別々のやり取りを要求するものもあります。すべての値を一つの文字列に入れても、追加のコマンドを送らねばならないクライアントを再現することはできません。

これは旧来のFtpWebRequestコードにおける有用な境界を説明します。ゲートウェイ固有のユーザー名を用いた通常のFTP接続は、一部のUSER/PASS構成に適合し得ます。別個のSITEやOPENの会話を要求するゲートウェイには、その流れを実際にサポートするクライアントが必要です。WebRequestのProxyプロパティはまた別のインターフェースです。

たとえばWinSCPは、すべてのゲートウェイを一つのホスト欄として扱うのではなく、FTPプロキシのログイン方式を個別に公開しています。その数値の生設定値は文書化されたAPIに属します。構成を確認するときは方式名と想定される会話を使ってください。

ログイン後も、ファイル転送にはFTPデータ接続と選択したTLSモードが必要です。制御チャネルでのログイン成功はその経路の始まりであり、すべてのデータ転送がすでに許可されている証拠ではありません。

関連記事