先日、Windows10の64ビット化でクリーンインストールしたのですが、そのときにFTPクライアントソフトのWinSCPも再インストールしたのですが、これを使って本ブログで使用しているサーバ(xdomainからドメイン契約者に無料で提供されているWordPress機能)に接続しようとしたところ、SFTPでは繋げられなくてちょっと焦りました。
FTPでは繋がるがSFTPでは繋がらない
現象としては、FTPだと繋がるのにSFTPでは繋がらないという状態でした。
具体的には「サーバを探索中・・・」という表示のまま、うんともすんとも言わずにその後タイムアウトしました。
WinSCPの設定画面の転送プロトコルのデフォルトはSFTPで、クリーンインストールする前にもWinSCPでxdomainに接続していて、なにか特別な設定をした記憶はなかったので、思わぬところでつまづいた感じです。
とりあえずFTPでは接続できますし、サイトにアップロードする情報はほとんど公開情報なのでそんなに困ることはないのですが、以前はできていたと思っていたことができないというのが気持ち悪いものです。
xdomainのマニュアルを見る
xdomainのオンラインマニュアルにはFTPソフトの設定方法が記載されていて、FTPとFTPSでの設定方法が記載されていました。
ところが、SFTPという記載はどこにもありません。同サーバの「よくある質問」のFTP関連の項目にもSFTPというキーワードは見当たりません。
FTPSの”S”は「SSL」、SFTPの”S”は「SSH」
ここでところでようやく、SFTPは「SSH File Transfer Protocol」のことだったと思い出しました。
SSLは既存のしくみ
SSLはいわゆる「https://~」で始まるURLで接続できるサイトだったら、既存のSSL暗号化のしくみを使って通常のFTPで転送するだけでよく、新たにポートなどを開放する必要はありません。
xdomainの管理画面はSSLで接続できているので既存のしくみということになります。
SSHは追加のしくみ
一方、SSHはOpenSSHなどの別のしくみをサーバ側に導入し、さらにポートも新たに開放する必要があります。
つまり、サーバ側からしてみればSSHは追加機能みたいなものだな、と。
で、改めてxdomainのWordPressの機能一覧のページを見ると、
SSHなんて書いてないですね。
FTPSでした
そう考えるとSFTPで接続していたのは思い違いで、FTPSで接続していたのだなと思い直して、WinSCPの「転送プロトコルの設定」を「FTP」、「暗号化の設定」を「明示的なTLS/SSL 暗号化」に設定したところ、めでたく納得の暗号化接続となりました。