sshを利用する際,パスワードを入力する手間を軽減させることが可能だ。しかし,パスフレーズまでは省略されず,この点をクリアするには次のような「ssh-agent」と呼ばれるデーモン利用が必要になる。
ssh-agentの起動時は,パスフレーズを記録しておく鍵キャッシュが空の状態である。このため,ssh-agentの起動後には引き続きssh-addコマンドを使用してパスフレーズをキャッシュに追加させておく必要があるのだ。以上の手順は次のようになる。これらの操作は,当然ながらパスフレーズを入力する接続元で行うべき操作だ。
$ eval `ssh-agent` Agent pid 3199 $ ssh-add ※上記のように表示されてパスフレーズが要求されキャッシュされる |
ssh-agentに関する問題の1つは,cronジョブとの関連性を持つことができない点だ。cronによって定期的にsshを利用したrsyncを実現するといった用途には,更なる作業が必要になる。
最後の注意点として,ssh-agentデーモンは次のようにログアウト前にkillする必要があることだ。これを自動化させるには,~/.bash_logoutに「ssh-agent -k」をフルパスで記述しておくとよいだろう。
$ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 31420 killed; |
Copyright © ITmedia, Inc. All Rights Reserved.