2014年1月 Windowsのsshのクライアントの紹介とか雑感

以前Windowsのsshクライントについて書きましたが、それについて更新します。

PuTTY

PuTTY

Windowsでsshを使用するならばこれか後述のTeraTermが無難に思われます。メモリ消費量は少なく、安定して動作し、紹介ドキュメントも豊富です。開発も続いているので安心。カスタマイズ項目は豊富で細かい挙動の制御ができるのもいいです。GUIは古くさくてタブ切り替えができない点とUIから臨時に文字コードを変更することができない点は、他のクライアントソフトができるだけに残念です。

初心者には設定保存回りの挙動が不親切で、つい設定の保存を忘れて最初から設定しなおすことが多いです。初心者が毎回設定をしてから接続するようなシーンを何度も見ています。

セッションの保存は、起動時のダイアログか、サーバに接続しているならウィンドウ左上のアイコンを押下してメニューを出して「設定の変更」を選択し「セッション一覧」にサーバ名などの入力して保存します。

またputeygenで作成するssh鍵がOpenSSH形式でないので、初心者が適切な鍵ファイルを用意できずにトラブルことが多いです。初心者はssh認証で「ややこしい」と思っているところに鍵のフォーマットの話まで出てくるので、Linuxへ印象が悪くなる気がします。

総評としては、よく使われるアプリだし機能も十分で、使いこなせれば強力なアプリなんですが、不満点も多いというところです。

クライアントソフトはターミナルのputty.exeに加えて以下のものがあります。sshを使い込んでいくといずれは使うことになるんじゃないかと思います。

PuTTYの同梱プログラム

pagent.exe

ssh-agentのputty版です。sshの機能がない他のアプリとの連携をします。アクセスタスクトレイに常駐してセッションの開始をしたり、ssh鍵の記憶をしたりします。ssh鍵の記憶をするとパスフレーズ入力を初回のみにすることができるのでターミナルをガンガン開くとり、パスフレーズ入力の機能を不要でアプリを実行したいときに使用します。

plink.exe

sshを経由して接続先のコマンドを実行させます。pagent.exeを組みあわせたバッチ処理とかに使います。
pscp.exe scpのputty版。ファイル転送に使用します。普通はWinSCPなどのGUIクライアントを使うので、バッチ処理やGUIから呼び出して内部的に作動させるような利用が多いです。

psftp.exe

sftpのputty版。scpと違うのはftpのように対話的な操作ができます。

puttytel.exe

telnet。raspberry piなどの組み込み系Linuxの操作や開発ではよく使います。putty.exeでもtelnetプロトコルの指定ができるので、なぜ独立してこのバイナリがあるかはなぞです…

puttygen.exe

ssh鍵を作成や、鍵フォーマットを変換します。たいていのPC-LinuxサーバはOpenSSHを使用しているので、鍵を作成した後はコンバートしてやる必要があります。初心者がつまづくポイントの一つです。

PuTTYの派生版

PuTTYjp

http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html

完全日本語化されているので、初心者にも受け入れてもらいやすいです。

本家PuTTYのバージョンアップに追随しているのでごった煮版よりお勧めです。

putty-gdi

http://ice.hotmint.com/putty/

アプリがGDIを持っておりデフォルトでフォントがアンチエイリアス設定(PuTTYJPでもClearTypeとアンチエイリアスは設定できる)になっています。PuTTYjpとの違いは次の通りです。

  • 表記は英語
  • adbがある(AppleのキーボードでなくてAndroidのadb)
  • 透過設定ができる
  • クリッカブルURL
  • ウィンドウの位置を記憶させることができる(終了時の位置を記憶するわけではなくセッション保存時に記憶する)

Tera Term

http://sourceforge.jp/projects/ttssh2/

TeraTerm

PuTTY同様に安定して使えます。速度上の問題もありません。PuTTYよりも使いやすいUIになっています。ssh鍵はサーバ側と同じOpenSSH方式なので手間がかかりません。簡易的なファイルアップロード機能がありますが、あくまでも簡易的なレベルです。sambaか後述のWinSCPかDokan SSHFSを使用することになると思います。

メニューバーから文字コードを変更する機能があります(PoderosaとRLoginもあります)。文字コードの設定違で文字化けになっても簡単に切り替えられます。

総じてPuTTYのようなハマるところが少なく、初心者にも勧められる優れたクライアントソフトです。

欠点はPuTTY同様にタブ機能がないことです。古い設計のアプリなので仕方ないのですが、今となってはタブがないクライアントソフトはちょっと使いづいらいかなと思ってしまいます。


RLogin

http://nanno.dip.jp/softlib/man/rlogin/

RLogin

UNIXのrloginコマンドではありません。名前がかぶっているのでアレですが注目すべきアプリです。今回のブログはこのアプリのために書いたようなものです。

Windowsのsshクライアントで満足にタブが使えるアプリはありませんでしたが、このRLoginは完全に実装しています。素晴しいです。

さらに反応速度も十分でキビキビ動きます。ツールバーには文字コードの切り替えボタンがあります。複数タブに同時にコマンドを実行できるボタンはサーバのメンテナンスで活用できそうです。キー操作の記録と再生ボタンは簡易的なマクロ操作ができます。

サーバの接続ダイアログはUIが自然で一度のPuTTYのようなストレスは感じません。2ペインのsftpの機能もあります。このアプリだけで一通りのことが可能です。

べた褒めですが、ちょっと気になるところもありました。

フォントの大きさの設定は「フォント」の項目ではなく「スクリーン」の項目でします。フォントの項目にはフォントサイズのUIもあるのですが、そこではないのです。そして「スクリーン」のフォント設定項目は「1行あたりの文字数からフォントサイズを設定」「フォントサイズから1行あたりの文字数を設定」です。よくあるフォントサイズの指定でないので、最初は戸惑いました。また色設定はカラーピックUIではなくANSIカラーコードを入力する形式でした。TeraTermも同様なのでダメというわけではないのですが、一般的なUIが並んでいるので、ここでも少しだけ戸惑いました。

軽く操作しただけなので安定性については評価できませんが、検証中に一度だけ強制終了したことがありました。

細かいこと書きましたがとてもよくできていますので、是非一度試してほしいアプリです。

WinSCP

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

sshプロトコルを使用してファイルのアップロードや操作することができます。

開発用サーバならsambaを使ってファイル共有できるようにするのがいいのですが、本番サーバなどsshしか使えない場合にはこれを使います。まず操作に迷うことがないUIなので初心者にも勧められます。ssh鍵はPuTTYと同じフォーマットなのでPuTTYユーザーには馴染みやすいです。

Dokan SSHFS

http://dokan-dev.net/

DOKAN

sshプロトコルを使用してファイルのアップロードや操作することができます。

エクスプローラにネットワークドライブとして接続します。エクスプローラ上なのでファイル操作はしやすく、Windowsアプリでサーバのファイル操作をすることもできるので応用がききます。

わたしの環境だけかもしれないが鍵認証はできませんでした。そのためパスワード認証ができる環境なのが前提かもしれません。また、メンテナンスは2011年から停止しています。条件さへ整えばとても便利です。