WinSCP + rssh でカタイ ssh ファイル転送
ssh は基本的に shell の機能を提供するものである。しかし超便利で、ファイル転送にも普通に使える。その機能を利用した WinSCP というクライアントはまるで ftp のように ssh を活用し、ftp というセキュリティにとっての目の上のたんこぶを葬ることに貢献してくれている。
しかし伝統的には WinSCP は shell の機能を利用して擬似的に ftp の機能を実現していた。つまり、ファイルのリスト取得や転送がしたいだけのユーザーに shell を解放する必要があった。これでは、ftp を葬っても、ユーザーが信用できなければ逆にセキュリティ上の脅威は上がっている。
そこで登場するのが WinSCP 3 以降と、rssh である。WinSCP は 3 以降で sftp に対応し、もはや shell の機能を利用せずともファイル一覧の取得が可能になった。しかし、実際には shell を正しく設定しておかないと sftp での接続には失敗する。そこで rssh のご登場。shell を rssh にし、適切に設定することで、sftp だけをユーザーに提供することができる。(scp だけに制限することもできるが、それではファイル一覧は取得できない。)
WinSCP は putty 鍵を使った鍵認証にも対応しているので、クライアントに Windows が居る中で、ssh を利用した最も安全なファイル転送経路の確保が可能となる。(FileZilla は鍵認証には現時点で対応していない。)
ただし、これだけでは chroot できないので、ユーザーが更新する以外の部分のファイルが覗けてしまう。この話はまた今度。