Windows8.1でSSH周りの環境を整える

ARROWS Tab QH55/M入手後の環境整備シリーズで、次はSSH周り。これはこのタブレットの元々の目的である休日にMacBookPro 15”を持ち歩かなくても障害発生時などに対応できるようにしたい、というところなのでちゃんと整備をしたいところ。

とりあえず、SSHでつないでコンソールが使えるようにする

Windowsは昔使ってたレベルだと、定番はTeraTermかなぁとおもいつつ、せっかくだし表示を綺麗にしたいなとか、もうすこしいろいろ高機能なのができてたりするかなと思って探してみて、この辺かなぁという候補として下記くらいを試しました。ChromeでSecureShellとかちょうど話題で一瞬考えたけど、秘密鍵の管理とか面倒そうでやめました(適当)。Chomebookとかならこれ一択なんでしょうか。

  1. RLogin
  2. mintty
  3. PuTTY D2D/DW

実際に一番ハマったのは、これらのどれの問題でもなく、一つ前の記事のRictyというフォントがそのままでは使えなくて表示の横幅が間延びするところだったのですが、結果としては、RLoginとminttyの併用でいいかな、という感じです。

併用の理由は割と単純で、通常のSSHで特定のサーバにつないで作業という意味では、RLoginでよいのですが、なんだかんだで結局ローカルでターミナル開いてコンソールで作業したいということになるのは目に見えていてCygwinを入れないという選択肢はなく、今やCygwinのデフォルトターミナルがminttyになっているためです。minttyというか、Cygwinで統一というのも考えたのですが、SSHにつながればそれでいいやというケースもあるかなぁということで、RLoginを残しておくことにしました。たぶん、基本はminttyを使っている気がします。PuTTYじゃなくて、RLoginを選んだのはOpenSSH形式の秘密鍵が変換なしで読めることくらいですね。どっちでもいいかなぁと思います。Cygwin側のSSHは元々SSHのconfigなんかはGoogleDriveで共有しているため、ほかのOSXやLinuxと同じconfigファイルを使う用にしています。 あと、SSH Portforwardingを使う用にもRLoginを使っています。なんか専用のツール入れてもよかったんですが、実際、Portforwardingを使う機会自体が少ないので、とりあえず使えればよいくらいのレベルなのでRLoginの機能を使う感じにしています。設定もシンプルで、接続設定の画面でサーバ→プロトコルで、ポートフォーワードに転送したいポートを指定するだけでさくっと動きました。最近はこの辺が楽になっていて素晴らしいですね。ちなみに、SFTPもRLoginでつかえないわけではなく、ファイル→SFTPファイルの転送を選べばファイル転送もできるようです。RLogin普通にめっちゃ高機能ですね。

唯一の悩み所は、Keepaliveパケットを送るよう(30秒間隔)に設定しているつもりなのですが、20-30分放置すると切れてしまうんですよね。OpenSSHで設定している分には切れない気がするのでRLoginの設定的な話なのだとおもうのですが、よく分かりません。

次は、SSHFSとかSFTPを使ってファイル編集できるようにする

あとはサーバ上のファイルをどうにかしてローカルのエディタで編集できるようにします。開発だけであれば、サーバ側にsambaを入れてしまって、SSH Portforwardingして、CIFSでマウントとかもありかとは思ったんですが、さすがに普通に運用しているサーバ群にsambaとか入れているわけがないので、VPN接続後になんとかSSHFSとかSFTPでアクセスしたいところです。

とはいえ、FileZillaとかでダウンロード→編集→アップロードの流れとかはだるくてしかたないので、特定のドライブにマウントとかできるのが望ましいところです。というところで、「windows sshfs」とかで検索してまとめてるページを眺める限り、選択肢は以下くらいかなぁというところ。

  1. Dokan SSHFS
  2. win-sshfs
  3. SFTP Net Drive

とりあえず、win-sshfsはDokanを使ったものらしく、検索したかぎりではDokanを使うよりもwin-sshfsのほうが安定しているようなので、win-sshfsを試しました。

が、残念な結果で、どうもDokanのライブラリがWindows7までしか対応してないようでインストーラでエラーを吐きます。互換モードでインストールしたところ、インストールは成功するのですが、win-sshfs側でいざマウントしようとすると、Can’t Install Driverと出て動かないようです。やっぱWindows8にDokanが対応していないようです。

というわけで、消去法でSFTP Net Driveにしました。こちらは問題なく動くようで、Pro版だと$82とかのようですが、複数の接続先を名前をつけて別のドライブとしてマウントだったりとか、圧縮率の調整、マウントしたときのディスクの種別指定(removable, fixed, network)みたいなあたりが違いのようです。 ディスクの種別を変えられるあたりはちょっと魅力的ですが、まあとりあえずFree版で我慢して使っています。便利そうなら感謝の意味も込めてPro版を買ってしまおうかなと思っています。

使用感はなかなかよい感じで、サクラエディタからZ:にさくらVPSをマウントしてこの文章を書いていますが、さすがに保存の時は若干もたつきますが、まあそれでも3-4秒程度なので全然許容範囲です。

最後に

というわけで、

  1. SSHでコンソール使う(RLogin or mintty)
  2. ファイル転送する(RLogin or scp)
  3. ポートフォーワードする(RLogin)
  4. マウントする(SFTP Net Drive)

という感じの用途はそれぞれの組み合わせでなんとかなりそうです。これで、SSHとエディタとフォントとかの表示まわりの整備は終わったので一通りいけたかなぁという感じです。

あとは、普段ののんびりとした使い方で、ほんとにタブレット的にキーボードなしで、Facebook,Twitterあたりとかブラウジングが楽にできるようにしていきたいところ。