はじめに
一々マウスを使ってセッションを選んだりユーザー名を入れたりパスワードを入れたり、あるいは踏み台サーバーから目的のサーバーにログインしたり、面倒くさくてやってられない。ということで自動化した。
具体的には次の2つを行う。
1. Puttyでのログインを自動化する
2. Puttyでの踏み台経由のログインを自動化する
最終的に踏み台経由のアクセスもここまで簡単になる。
1. Windowsキー+R で「ファイル名を指定して実行」を起動
2. Puttyのショートカット名を入力してEnter
1. Puttyでのログインを自動化する
ユーザー名とパスワードの入力を省略する。
既にPuttyの設定自体はできており、Puttyを開いて'Session'を選んで'Open'するとそのセッションが開かれる、という状態になっているものとする。
(1) Puttyのショートカットを作成する
(2) そのプロパティを開き、「ショートカット」>「リンク先」を編集する
(old) "C:\Program Files\Putty\putty.exe"
(new) "C:\Program Files\Putty\putty.exe" -load SessionName -l UserName -pw Password
ここで斜体の部分はそれぞれ自分の設定に応じて値を入れる。
SessionName: セッション名
UserName: ユーザー名
Password: パスワード
これでそのショートカットをダブルクリックすれば、セッションの選択、ユーザー名の入力、パスワードの入力が自動的に行われてログインできる。
2. Puttyでの踏み台経由のログインを自動化する
ログインまでは自動化できたが、作業用サーバーは踏み台を経由して入る形になっていることがあり、その場合はPuttyで踏み台サーバーにログインしたのちssh -X ~@XXX.jpなどして目的のサーバーにログインすることになる。
もちろん公開鍵・秘密鍵を使い、ログインコマンドもエイリアスに登録しておけば数文字入力するだけでログインはできるので全然大した手間ではないのだが、せっかくなので目的のサーバーへのログインまで一気に行きたい! ということで調べてみた。
踏み台サーバーから目的のサーバーへのログインに関しては、SSH公開鍵認証が設定されている必要があるので注意(ここではその設定方法は述べない)。
(1) 踏み台サーバーから目的のサーバーにログインする際のコマンドをテキストファイルに書き込んで保存する
ssh -X UserName2 @HostName2
(2) Puttyのショートカットを作成する
(3) そのプロパティを開き、「ショートカット」>「リンク先」を編集する
(old) "C:\Program Files\Putty\putty.exe"
(new) "C:\Program Files\Putty\putty.exe" -load SessionName -l UserName1 -pw Password -t UserName1@HostName1 -m "CommandFile"
ここで斜体は
SessionName: セッション名(踏み台サーバーに入るセッション)
UserName1 : 踏み台サーバーでのユーザー名
Password : 踏み台サーバーでのパスワード
HostName1 : 踏み台サーバーのホスト名
UserName2 : 目的のサーバーでのユーザー名
HostName2 : 目的のサーバーのホスト名
CommandFile: (1)で作成したテキストファイル(例えば C:\Users\Akira\Desktop\putty_login_command.txtなど)
これでショートカットキーをダブルクリックすれば踏み台サーバー経由で目的のサーバーにログインすることろまで自動で行われる状態になった。
このショートカットキーをパスの通ったフォルダに置いておけば、最初に述べたように
1. Windowsキー+Rで「ファイル名を指定して実行」を起動
2. Puttyのショートカット名を入力してEnter
だけでログインできるようになる。