ここまで説明してきたOpenSSHの利用方法では、ログインする毎にパスフレーズを入力し、暗号化されて保存されている秘密鍵を復元して呼び出す手続きを行わなければならかった。しかし度々のパスフレーズ入力は場合によっては作業効率を下げることもある。例えばsshでリモートコマンドを直接入力する場合や、scpなどを利用する場合には、コマンドを一回入力する度にパスフレーズも入力しなければならない。このような場合にユーザに代わって自動的に認証手続きを行ってくれる仕組みがあり、認証エージェントと呼ばれている。今回はOpenSSHでの認証エージェントの利用方法について説明する。 OpenSSHの認証エージェントはssh-agentというプログラムである。これを利用してパスフレーズの度々の入力を省略することができる。特に複数の秘密鍵を利用してSSHで様々に接続する場合などは、ssh-agentが非常に便利である。ただし言うまでもないことであるが、使用方法を間違えると何よりも重要な暗号鍵を盗まれることになってしまうので、安易な利用は避けたい。 ssh-agentの起動は$ eval `ssh-agent`とする。この場合、単純にssh-agentを直接起動してはいけない。この状態のssh-agentはバックグラウンドで走っているが、まだssh-agentには秘密鍵が登録されていない。次に秘密鍵を登録する場合には、ssh-addコマンドに秘密鍵ファイルを指定する。SSH1のRSA秘密鍵を登録する場合には$ ssh-add ~/.ssh/identifyとなる。もちろん、このコマンドの入力後にはパスフレーズの入力を求められる。複数の鍵を登録することができるので、ここでさらにSSH2のDSA秘密鍵を登録するならば、同じように$ ssh-add ~/.ssh/id_dsaという具合に追加登録していくことができる。ssh-agentに登録した秘密鍵をメモリから削除するには、秘密鍵ファイル名を指定して、$ ssh-add -d ~/.ssh/id_dsaとする。また、ssh-agentに現在どの鍵が登録されているか知りたい場合には、$ ssh-add -lと入力すると、鍵の指紋が一覧表示される。officeoffice@ukky.nethttp://www.office.ac/(詳しくはScan本誌をご覧ください)http://www.vagabond.co.jp/vv/m-sc.htm