/*Google AdSense自動広告*/

2020年5月22日金曜日

RLoginを使用し、ワンクリックでサーバー接続→SSH認証を行う

RLoginというのは、TeraTermやPutty、Poderosaの上位互換ターミナルソフトです(私感)。

RLogin本家 紹介&ダウンロードページ

普通に使っても便利なソフトですが、私は面倒くさがりなので、起動したら特定のサーバーにSSH接続までしてもらうようなスクリプトを作りました。

Server Entryの登録

先ずは、接続するサーバーを登録します。新規ボタンで色々な設定タブが開きますが、「サーバー」タブで殆ど事足ります。「プロトコル」子タブからポートフォワードの設定も可能です。ここで登録したEntry名を覚えておきましょう。

次に、「スクリプト」タブで下記スクリプトを指定します。


スクリプトの作成

上で作成したサーバーに、SSH接続を自動化するスクリプトを登録します。

編集 > サーバー > スクリプト
エントリースクリプト
(サーバーエントリー接続時に実行するスクリプト・ファイルを指定します)

スクリプトファイルの拡張子は何でも構いません。

Document.Open();
wait(CONNECT);
sopen(OPEN_LOOK);
swait(3,">");
sputs("ssh SSH_Server_Name\n")
swait(3,":");
sputs("myPassword\n");
swait(3,"Do you access this server(yes/no):");
sputs("yes\n");
sclose();

【解説】
前後はオマジナイのようなもので、以下2つの関数が重要です。

  • swait(3,">") : プロンプト文字列「>」が出るのを3秒待ちます。
  • sputs("ssh SSH_Server_Name\n") : swaitでプロンプトが出るのを待った後、文字列を入力します。sshコマンドや、ユーザー名、パスワード等。最後に改行コードを入れると、エンターキーを押す挙動になります。

RLoginをEntryで自動接続するスクリプトの作成(VBS/PowerShell)

特定のEntryしか使わない場合は、RLogin起動後に「ファイル - サーバーに接続」から指定するのも煩わしく感じるでしょう。

これは、起動時のオプションで指定可能です。

VBSの場合


Dim myShell
Set myShell = CreateObject("WScript.Shell")
myShell.Run "C:\Tool\RLogin.exe /entry Entry_Name" , 1, true

PowerShellの場合


& C:\Tool\RLogin.exe /entry Entry_Name

スクリプトのEntry_Name部分に、最初に登録したEntry名を記載します。このスクリプトを実行すれば、RLoginの起動→SSH接続・認証まで自動で進めることが出来ます。

究極の面倒くさがりのために…






0 件のコメント:

コメントを投稿