ラベル PuTTY の投稿を表示しています。 すべての投稿を表示
ラベル PuTTY の投稿を表示しています。 すべての投稿を表示

2016年3月8日火曜日

sshで接続@Agent認証その2

前回で、Pagent用の秘密鍵は作成した。
 
次は、そのPagentを利用する流れだけど…。実はそんなに難しくない。
作成した秘密鍵をダブルクリックすると、パスフレーズを入力するダイアログが出てくるはずだ。そこに、秘密鍵のパスフレーズを入れればいい。


「OK」を押したら、ダイアログが消えて、何も無かったかのような状態になる。
が、タスクトレイ上に、pagentのアイコンが出来ているはずだ。


このアイコンを右クリックして出てくるメニューから、「View Keys」を選んでみよう。そうすると、このPagentが取り込んでいる鍵の情報が出てくる。
これが、先ほどダブルクリックした鍵だ。


Pagent側はこれで準備が整った。
 
今度はteraterm側だ。
teraterm側は、sshログインの認証方式を選択するダイアログで、以下の様な状態にすればいい。


ユーザ名を入力し、認証方式を「Pagentを使う」にすればOKだ。
これで、パスフレーズを入力することなく、鍵認証でログインすることが出来る。
何回ログインしても、パスフレーズを入力しなくていい。
これがAgent認証だ。
本当にPagentを使用しているか疑問に思えたら、タスクトレイからPagentを終了して、再度teratermからログインしてみたらいい。Pagentが無い、と怒られるはずだ。
 
ただし、手元のWindows端末を再起動する等で、常駐しているPagentが終了した場合は、再度秘密鍵をダブルクリックして、Pagentに鍵を読み込ませる必要がある。
この辺りは身体で覚えよう。
 
また、agent方式を使うと、agent転送という機能も利用できる。
上の認証方式を入力する画面でも「エージェント転送する」というチェックボックスがあるので、そういう名前の機能が存在することはわかると思う。
このエージェント転送、複数台のサーバを経由するようなログインには非常に便利なのだが、今はまだそういう機能を使うメリットが無い。いずれ使う機会もあると思うので、その時に書こうと思う。
 

2016年3月7日月曜日

sshで接続@Agent認証その1

前回で、Ubuntuに対してteratermを使って、パスワード認証と公開鍵認証を用いたsshログインが出来るところまで試した。
ただ、公開鍵認証を用いても、秘密鍵にパスフレーズを付与しているので、毎回ログインのたびにパスフレーズを入力しなければならず、結構手間だ。
今回は、agentを用いて、パスフレーズを一回だけ入力すれば済むような方向で進めていく。
 
agentって?
クライアント側で秘密鍵を保持しておいてくれて、クライアントソフト(teraterm等)と連携して鍵認証を代行してくれるプログラム。
通常の鍵認証だとこんな感じだけど…


エージェントを使うと、このような感じになる。


teratermで、同じサーバに複数のログインセッションを作るなんていうことはよくある話だが、その都度秘密鍵を読み込んでいたら、毎回パスフレーズを入力しなければならない。結構な手間だ。
そこで、事前にSSH Agentソフトウェアを立ち上げ、そちらで秘密鍵を読み込んでおく。(ここで1回、パスフレーズを入力することになる。)
teraterm等は秘密鍵を読み込まずに、秘密鍵が必要な時にSSH Agentに処理を任せる、というような形にすることで、最初の一回(SSH Agentで秘密鍵を読み込む時)、パスフレーズを入力するだけで済むようになる。
 
Ubuntuをクライアントにしている場合は、OpenSSHに含まれているssh-agentというツールで実現が可能だが、クライアントがWindowsの場合、OS標準にはこのようなツールは存在しない。(そもそも、sshクライアントすら存在しないわけだが…)
agent機能は、フリーソフトで幾つか実現されているようなのだが、今回は PuTTY というフリーソフトに含まれている Pagent というツールを使うことにする。
これ、すごく有名らしく、調べればすぐに情報が出てくると思う。
 
PuTTY は簡単にダウンロード、インストール出来るので、先にインストールしておいて欲しい。
 
で、以前 teraterm で作成した秘密鍵を、PuTTY の Pagent に読み込ませればOKなのだが…、実は Pagent は、teraterm で作成した秘密鍵の書式に対応していない。
そのため、書式を変換する必要がある。
変換はそんなに難しいことではない。PuTTYに変換ツールも含まれているからだ。
PuTTYのインストールが完了していたら、PuTTYgenというツールがインストールされているはずだ。スタートメニューから探して、実行してみて欲しい。
以下の様な味気ない画面が出てくるはずだ。


メニューバーに「Conversions」というのがあるのに気付くと思う。
それらしい名前だが、そのものズバリだ。こちらを選ぶと、Import keyというメニューが出てくる。これをクリックする。


Import keyをクリックすると、お約束のファイル指定ダイアログが出てくるので、以前teratermで作成した鍵のうち、秘密鍵(.pubじゃない方)を指定しよう。
パスフレーズを聞いてくると思うので、秘密鍵に付与したパスフレーズを入力する。


パスフレーズを入力して「OK」を押したら、PuTTYgenの画面が少し派手(?)になったと思う。


あとは「Save Private key」を押して、PuTTY用の秘密鍵をローカルに保存すればいい。(拡張子は.ppkになる)
これで、Pagent用の秘密鍵が出来上がりだ。
 
次は、作成した鍵を PuTTY の Pagent に読み込ませて…なんだけど、今日はここまで。また次回。