プロが教えるわが家の防犯対策術!

FFFTPのパスワードは生パスワードを盗聴される可能性があるので、SSHでパスワードを暗号化すればよいと分かったのですが、仕組みがよく分からなかったので仕組みと設定手順を教えてください。
FFFTPとPuTTYはWindowsで、proftpdとOpenSSHはLinuxです。
WindowsとLinuxはルータで接続されています。
proftpdのServerTypeはstandaloneではだめですか?
スーパーデーモンが必要ならxinetdがあります。
FFFTPの設定で接続先ポートは22に設定すればよいのですか?
22に設定すると、OpenSSHのバージョンが表示されて止まりました。
21に設定すると、ダウンロードのために127.0.0.1:8021に接続しようとて失敗しているようなログがFFFTPに表示されました。
http://www.st.ryukoku.ac.jp/services/ftp-ext2int …
を見るとFFFTPでポートを21に設定していますが、21に設定して、パスワードは暗号化されて出て行くんでしょうか?

A 回答 (4件)

#3への返信です。



FTPでは、制御コネクションとデータコネクションがあるのは以前に述べました。先に紹介したサイトでは、制御コネクションをSSHトンネルを通しています。つまり、クライアントとサーバとのコネクションはSSH経由で行われるので、暗号化されています。

ここで、「パッシブモード」と書いてありますね。パッシブモードは、FWの関係で、データ用のポートをサーバ側からクライアント側へリンクさせられない時に使用されます。パッシブモードでは、データ用のポートはクライアント→サーバの向きでFWを通過します。この時には、従来使用される(アクティブモードで)ポート番号20ではなく、任意のポートが選ばれます。ですから、

>そしてFFFTPは制御コネクションをSSHを使わず、サーバ名:PassivePortsのどれか1つに接続するんですよね?

制御コネクションはSSHを通していると思います。むしろSSHを使っていないと思われるのはデータコネクションです。データコネクションが任意ですから、

>FFFTPは制御コネクションはlocalhost:22で、データコネクションはサーバ名:PassivePortsだと認識することになるんですよね?

に関しては、その通りだと思います。私の勘違いかもしれませんが、FTPをSSHポートフォワーディングで行った場合には、制御コネクションは暗号化できる(認証のやりとりは暗号化される)・・・しかし、データコネクションは任意ポートであり、SSHトンネルは1本なのでデータ内容は暗号化されない、だと考えています。100%の自信はありませんが、FTPの性質を考慮すればこうした考えに辿りつきます。

こうした経緯から、実は#1の方の仰るソフトを私も使用しているのですが^^;使い勝手もFFFTPとほぼ同じです。サーバ管理側としては、FTPサービスを起動しなくても済みますし、ポートも2つ閉じる事ができます。暗号化処理でサーバは重くなりますが、小規模サーバでは問題ありません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
全部理解できました。あとは実際にやるだけです。

そしてFFFTPは制御コネクションをSSHを使わず、
と書いたのは間違いで、「制御」は「データ」と書いたつもりでした。

お礼日時:2005/10/18 22:37

ここに詳しく書いてあります。

図が非常に分かりやすいです。
http://www.club.kyutech.ac.jp/support/manual/fff …

ア : PuTTYでWindows ----> (22)LinuxのOpenSSH

→これでSSHトンネルを確保します

イ : FFFTPでWindows ----> (8021)LinuxのOpenSSH

→厳密には、FFFTPでWindows ----> Puttyで作ったトンネルへ(8021番→22番)ですね。

ウ : LinuxのOpenSSH ----> (21)Linuxのproftpd

→SSHトンネルを出たらポートが変わります。

エ : Linuxのproftpd ----> (21)WindowsのPuTTY

これは帰りですね。往路で確保したトンネルを帰ってきます。

オ : WindowsのPuTTY ----> WindowsのFFFTP

そうです。

この回答への補足

ありがとうございます。
仕組みが分かってきました。
往路の方も理解したいので教えてください。

ポートフォワーディングの図で
http://www.club.kyutech.ac.jp/support/manual/por …
今回はSSHを使うので、上の白いコネクションは無いものとします。

FFFTPから

│  ↑
└─┘

このように21番で待っているproftpdに届き、レスポンスでproftpdのサーバ名とPassivePortsが

↑  │
└─┘

このようにFFFTPに返されるんですよね?
サーバ名も返されるんですよね?
そしてFFFTPは制御コネクションをSSHを使わず、
サーバ名:PassivePortsのどれか1つ
に接続するんですよね?
FFFTPは制御コネクションはlocalhost:22で、データコネクションはサーバ名:PassivePortsだと認識することになるんですよね?

補足日時:2005/10/18 17:20
    • good
    • 0

こんにちわ。

SSHポートフォワーディングですね。
これはメール等にもよく使われます。「ポートフォワーディング」などと検索すれば詳細はでてきます。

この参考サイトを見ましたが、サーバ側で使用しているポートは決まっているようですね。順を追ってみましょう。使用するのはPuttyとFFFTP限定のようですので、そのつもりでいきます。

原理的には以下のようになります。

1.SSHトンネルと呼ばれる暗号化経路をPutyyで作る。
2.その経路でFTPする。

ここで、SSHトンネルにデータを流してやる時に、自分のマシンをサーバのように使います。FTPを行う前にPuttyを起動しておくのがその準備です。SSHトンネルを通ってサーバについたデータは、サーバ側で指定したポートに届けられます。クライアントとサーバの間では、SSHの22番ポートが使われますが、SSHトンネルに流すまでと、サーバに届いてからは他のポートを使用するのです。この技術のすごい所は、通信路で使用しているのは22番だけなので、使用するポートが22である事です。大学などでは、22番くらいしか許可していないので、ポートフォワーディングすれば学外からも大学のサーバ経由でメールが送れたりします。

さて、原理的な事は以上で手順を見直しましょう。

まず、Puttyです。これは、1番のdを所で相手サーバとポート番号を指定します。IPまたはホスト名と22番ポートを指定してください。

次に、1番のaです。ここに、ポートフォワーディングの設定を入れます。送り先はxxxxxx.ac.jp:8021となっています。これは、SSHトンネルを出た後は相手サーバの8021番ポートに接続しますという事を表します。
源ポートとは、SSHトンネルに入れる直前のポートです。ここでは8021番とサーバと同じになっていますが、任意です。分かりやすいように同じにしてあるのでしょうが、余計に混乱を招くようですね。この源ポートとは、FFFTPで指定するポート番号です。ですから、FFFTPでは8021番を指定します。

これで上手くいきませんか?設定の書式等にはご注意下さい。:などが抜けても上手くいきません。

この回答への補足

原理の説明をまたお願いします。

ア : PuTTYでWindows ----> (22)LinuxのOpenSSH
イ : FFFTPでWindows ----> (8021)LinuxのOpenSSH
ウ : LinuxのOpenSSH ----> (21)Linuxのproftpd
エ : Linuxのproftpd ----> (21)WindowsのPuTTY
オ : WindowsのPuTTY ----> WindowsのFFFTP

イでパスワードを送るんですよね?
パスワードを暗号化するのはPuTTYですよね?
イを実行したときに、PuTTYがそれを検知して出て行くものを全てSSHタイプの暗号にして
イ : FFFTPでWindows ----> PuTTYが暗号化 ----> (8021)LinuxのOpenSSH
となるわけですか?

補足日時:2005/10/18 02:48
    • good
    • 0

Windows, Linux間でSSHによる暗号化ファイル転送をしたいのなら、WinSCPを使うのがよいと思います。


http://winscp.net/eng/docs/lang:jp

参考URL:http://winscp.net/eng/docs/lang:jp
    • good
    • 0
この回答へのお礼

クライアントはFFFTP限定です。
ありがとうございました。

お礼日時:2005/10/17 21:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!