私が実践しているRLoginの便利な使い方


俺は、TeraTermを捨ててRLoginを使うぞ! | 雑誌の住人

4月頃こんな記事を書きまして、telnetクライアントをTeratermからRLoginに乗り換えてから早半年が経ちました。ネットワークエンジニアになってから10数年、色んなtelnetクライアントを試しては「やっぱTeratermだよなー」とTeratermの完成度を再確認する日々だった訳ですが、ついにTeratermから乗り換えたくなるtelnetクライアントに出会えたのです。現在は毎日RLoginを使っています。Teratermはたまーに使うくらい。やっぱり完全移行するまでには至ってない訳ですが、RLoginはほんと便利で、どう使うのが自分的に便利なのかを日々考えています。

それで、このブログは基本は料理ネタがメインな訳ですが、GoogleアナリティクスでURLごとのアクセス数が見れるのに気付いたのでチェックしてみたら、なんと一番アクセスがあるのは4月に書いたRLoginの記事! おわーまだまださっぱりアクセス数が無いこのブログですけど、まさかこの記事がアクセス率トップだとは思いませんでした。なので、今のところ私が実践してるRLoginの便利な使い方を紹介したいと思います。RLoginのサイト、説明はかなり充実してるんですが、やっぱり細かい部分の説明が足りてないので「RLogin使ってみたいけどよくわからないなー」と役に立つんじゃないかと思います。

尚、RLoginのサイトはこちら。

・rlogin/telnet/ssh(クライアント)ターミナルソフト
http://nanno.dip.jp/softlib/man/rlogin/
※この記事を書いてる時点での最新版は2.17.0です。

・ダウンロードページ「Software Library」
http://nanno.dip.jp/softlib/

それでは私が実践しているRLoginの便利な使い方を色々書いていきましょう。

■ RLogin.exeと同じフォルダにRLogin.iniを作る

RLoginはexeファイルのみという感じになってるんですが、各種設定などはレジストリに保存されます。ただ、レジストリに設定が保存されてると、他のPCにまるごと設定ファイルごとコピーするのに不便なんですよね。
これを解消するのが「RLogin.exeと同じフォルダにRLogin.iniを作る」という方法です。RLogin.iniを作る時は、空のテキストファイルを新規作成して、ファイル名をRLogin.iniに変えましょう。

RLogin.iniを作っておくと、各種設定情報はレジストリではなく、RLogin.iniの中に全て保存されます。中身はテキストファイルなので直接編集することも可能です。他のPCにコピーする時にはexeとiniの両方をコピーすればそれだけ完了です。こっちの方が断然オススメです。

■ サーバーの選択・設定「Server Select」

rlogin

RLoginは、ログインする機器をServer Selectに事前に登録しておくのが基本的な使い方になるはずなんですが、これが使いづらい。とりあえず使った感じだと、ログインする機器をServer Selectにむやみに登録しまくると後で設定変更する時に非常に不便なので、ここにはあんまり登録せずに、基本となる接続設定を数個登録する感じがいいと思います。

なので、私は上記のようにtelnetとConsoleの二つだけを作ってます。Consoleの方は設定だけしてほぼ使ってないんですが、telnetの方を基本の接続設定として、色々弄ってます。でもこれだと複数のネットワーク機器に対してtenetする時はどうしてるかと言うと、「プロトコルハンドラ」機能を使います。

■ プロトコルハンドラ

rlogin-ph
Server Selectのところでtelnetを選択して右クリックすると、「プロトコルハンドラに登録」というメニューが出てきます。これを選択すると下記のような表示になるので、そのままOKしてください。
rlogin-ph2
OKするとどうなるのか? ブラウザ上のリンクをクリックすることで自動でRLoginが立ち上がり、telnet出来るようになるんです! 私はPCのローカルに簡単なhtmlファイルを作って俺専用ポータルサイトを作ってるんですが、これと非常に相性が良かった。なので私は俺ポータルサイトのhtmlに下記のようなリンクを追加して使ってます。

<a href=”telnet://192.168.1.1″ TARGET=”_blank”>telnet 192.168.1.1</a>
<a href=”telnet://192.168.1.2″ TARGET=”_blank”>telnet 192.168.1.2</a>
<a href=”telnet://192.168.1.3″ TARGET=”_blank”>telnet 192.168.1.3</a>

これを書き換えて色んなIPを登録しておけば、Server Selectに設定したひとつの設定だけで、色んなIPにtelnet出来るようになります。ただ、このプロトコルハンドラの機能が使いやすいと感じる人がどれだけいるかは不明です。ブラウザ上から何でも出来るようにしたいというクラウド志向の人ならばこれいいかもって思えるかもしれません。

これ以外でデフォルトの設定を使って、色んなIPに接続しに行く場合は、コマンドラインで操作するのがいいのかなと思ってます。下記のようなコマンドであれば、デフォルトの設定で色んなIPに接続可能です。

rlogin.exe /entry telnet /ip 192.168.1.100

/entry telnet : これはtelnetという設定を使うというオプションです。
/ip 192.168.1.100 : これは接続する機器のIPの指定オプションです。
コマンドラインの操作に関してはサイトに各種オプションの設定が詳しく書いてるので、そちらを参考にすればもっと色々出来るかもしれません。batファイルも作ったりすれば更に便利になるかも。

■ Chat Script

Chat Scriptは、ネットワーク機器に接続した時に自動でusernameやpasswordやその他コマンドを自動入力してくれる機能のことです。Chat Scriptを設定しておくと、機器にログインするのが超便利になります。ちょっと違いますが、Teratermマクロみたいなもんですかね。設定は、Server Selectで作った接続設定の中で出来ます。下の画像の左下側に、「Chat Script」ってありますよね。そこの「編集(c)」ボタンを押してください。
rlogin-entry
「編集(c)」ボタンを押すと、下のような画面が出てきます。あ、ウインドウのタイトル部分の文字「Chat Scipt」になってますね。誤字ってますねw これは作者さん直した方がいいでしょうねーw
rlogin-chats
画像を見て貰うとよく分からないのが書いてありますが、詳しく説明するとこんな感じです。

1.機器に接続して最初に表示される文字列が「username:」であれば「admin\n」コマンドを送信
2.次に「Password:」が表示されたら「admin\n」コマンドを送信
3.次に「>」が表示されたら「enable\n」コマンドを送信
4.次に「Password:」が表示されたら「enable\n」コマンドを送信

cisco的なネットワーク機器にログインする為に作りました。cisco触ってる人なら一発で分かると思います。「\n」は何? って人の為に説明するとこれは「改行コード」というもので、簡単に言えば、この「\n」が無いと、コマンドを打っただけでエンターは打たない、という感じの操作になります。

また、機器に接続した時に最初に表示される文字列が「username:」じゃなくて「user:」だった場合のパターンにも対応出来るようにしてます。機器によって表示される文字列が違ったりする時に、使える感じですね。最初に表示される文字列が「user:」だった場合は以下のような流れになります。

1.機器に接続して最初に表示される文字列が「user:」であれば「admin\n」コマンドを送信
2.次に「Pass:」が表示されたら「admin\n」コマンドを送信
3.次に「>」が表示されたら「enable\n」コマンドを送信
4.次に「Pass:」が表示されたら「enable\n」コマンドを送信

このようにChat Scriptを色々設定していけば、ひとつの設定で複数の機器に自動ログインが出来ます。もちろんログインだけじゃなくて、ただのコマンドも送信出来ますので、工夫次第で色々出来ると思います。

■ 「スクリーン」設定

画面に表示される文字のサイズなどを変更する場合は、「スクリーン」で設定します。私はこのようにしてます。
rlogin-screen
「一行あたりの文字数からフォントサイズを決定」になってるとウインドウサイズを変更するたびに文字の大きさが変わってしまって気持ち悪いので、私は「フォントサイズから一行あたりの文字数を決定」にしてます。

■ 自動ログ取得設定「通信ログ」

機器にログインして作業した時に作業ログを取得してなくて失敗したーって経験がある人、多いと思います。Teratermでも起動したら自動でログを取得してくれる機能がありますが、RLoginにもあります。設定は、ヒストリーのところで設定します。
rlogin-history
私の場合は画像の様に「通信ログを年月日を付けて自動作成する」にチェックをい入れ、その下に「c:\log\20%D_%S.log」と入れてます。これは自動でログを取得する時、どのようなファイル名でログファイルを作成するかという設定になります。%Dや%Sのところが変数になってて、自動で色々入力されます。意味はこんな感じ。

%D:yymmdd形式の年月日です。
%S:接続した機器のIPアドレス

他にも色々変数があるので、自分の好きなファイル名にしましょう。説明サイトの「送信文字列の特殊文字」って箇所を読めば分かると思います。

■ キーカスタマイズ機能

RLoginではキーカスタマイズがかなり柔軟に行えます。Ctrl + F1 とか Ctrl + ALT + F2 などを押した時に、特定の文字列が送信されたり、特定の機能が実行されるように色々カスタマイズ出来ます。このキーカスタマイズ機能はteratermでもバリバリ使ってたので、これが無いとtelnetクライアントとしてはダメダメです。良く使うコマンドや、良く使うメニュー機能など、色んなのを登録しておけば作業効率が半端なくアップします。設定は「キーボード」のところで設定します。
rlogin-keyborad
現在私が設定してるのは今のところ下記のような感じです。

F12:exit\n
Ctrl + F:$SEARCH_REG 

F12のexitは、機器から素早くexitするためです。Ctrl + Fの$SEARCH_REGは、RLoginには画面に表示されている通信ログ内から文字列を検索出来る機能があるので、windowsのショートカットと同じ感じで使えるように設定してます。この検索機能、これはteratermにも無い、RLoginの目玉機能じゃないかと思います。これが出来たらいいなーと思ってたので、すんごい重宝してます。

■ RLoginの不満点

かなり高機能なtelnetクライアントなRLoginな訳ですが、不満点も無くはないです。不満点は、もしかしたら工夫や設定変更でなんとかなるのもあるかもしれませんが、とりあえずメモ書き的に書いておきます。

まず一番の不満は、その場で突発的に知らされたIPに接続しにいくのが難しいところです。基本的にIPを事前登録しておく仕組みになってるので、これはちょっとストレスになります。コンソール接続なんかもちょっと工夫しないとやりづらそう。この点はteratermがやりやすくていいですねぇ。

次に、ログインしても改行が送信されない機器があることです。うちのラボにあるHITACHIのApresiaだと、何故か改行が打てないんですよね。改行コードとか色々設定変えたんですが、なんかダメでした。まぁ今のところApresiaだけなのでそんなに困ってはないんですが、何か改善の方法があればと試行錯誤中です。

■ RLoginのまとめ

ここまで私がRLoginを使うために試行錯誤した結果ですが、teratermとほぼ同じ事ができますし、タブも使えるし、高機能なスクリプトも組めそうだし、ブロードキャストコマンド機能もあるし、超オススメです。まだまだ使いこなせてるとは言えない感じですが、これからも便利な機能や使い方を見つけたら、ブログのネタにしていきたいと思います。RLoginに関する情報はまだまだ少ないので、みんなで使ってネットに情報増やしていきましょう~。私が知らない機能とか、もっと便利な使い方とかあれば、是非教えて欲しいですw