puttyでデスクトップショートカットから対象サーバにオートログインする小手先テクニック

linuxやmacから対象サーバにSSHでオートログインする手法を以前記載しましたが、Windowsでも同様の事をしているので、そのご紹介です。

作成するバッチファイル

以下のコードをテキストエディタに張り付けて、サーバ名.batとして保存してください。保存先は何処でも良いです。私はホームディレクトリに格納してデスクトップにショートカットを作っています。

cd "C:\Program Files\PuTTY\"
start /B putty.exe -load fileserver -l username

赤字箇所の意味は下表のとおりですので、ご自身の環境に合わせて書き換えてください。

項目意味備考
fileserverputtyのsaved sessionsに該当しますご自身のサーバのホスト名に読み替えてください
username公開鍵を作成したユーザー名実際にログインする対象サーバのユーザー名に読み替えてください

前提条件:Puttyの設定

まずはputtyをダウンロードしてインストールしてください。古い物を使っている場合は出来れば最新化した方が良いです。

Connection>SSH>Authから指定できるプライベートキーは以下のように設定しておきます。これはバッチファイル中の「-I username」の秘密鍵です。

なお、ssh-keygen等で作成した秘密鍵は、puttyのppk形式ではない為、puttygenと言うソフトウェアを用いて、putty形式へ変換し、保存してそれを使います(最後にやり方をご紹介します。)。

ここまで設定したら、ホスト名(DNS名かIP)と、ポート(SSHのデフォルトは22)を入れて、Saved Sessionsに名前「-load fileserver」と同じ名前を入れてSaveを押します。

一度、Puttyを閉じて、上記までで保存したサーバを選択してOpen出来れば下準備はOKです。

バッチファイルを使ってログインしてみる

ダブルクリックします。

下記の画面の通り、ユーザー名やパスワードの入力もなくログインできました。

puttygenを用いたppkファイルへの変換方法

puttyをデフォルトインストールしていると下記フォルダにputtygenがあるので、それを実行します。

事前に秘密鍵をテキストファイルにでも保存しておき、loadボタンからそれを指定します。

All Filesを指定し、該当サーバの証明書ファイルを指定します(サーバ上でcatコマンドで表示した物をコピペする場合や、AWS等の様に秘密鍵をダウンロードした物をそのまま指定するパターン等があると思います。)。

最後に、Save Private keyで保存します。

puttyのConnection>SSH>Authから指定できるプライベートキーで指定するファイルは上記のように作成すれば良いと思います。

最後に

上記は3年ほど前に「Windowsからlinuxサーバにログインする時のユーザー名入力が面倒だな~。」と思い、「puttyの公開鍵認証で何とかならないかな?」>「このオプションとバッチで・・・・あ、出来た」となって今まで使っているものです。

本当に些細なバッチファイルなのですが、使ってみるとダブルクリックのみでサーバログイン出来るのは非常に楽なのでよろしければ是非使ってみてください。

年単位で使うと、ユーザー名入力を省略する工数の積み上げも、結構な時間になると思いますので。

Linux版として「サーバ名指定で公開鍵認証を用いて自動ログインするssh-toスクリプト」もご参照ください。

タグ . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください