【無料ツールで作るセキュアな環境(51)】〜OpenSSH 11〜(執筆:office) | ScanNetSecurity
2025.03.26(水)

【無料ツールで作るセキュアな環境(51)】〜OpenSSH 11〜(執筆:office)

 ここまで説明してきたOpenSSHの利用方法では、ログインする毎にパスフレーズを入力し、暗号化されて保存されている秘密鍵を復元して呼び出す手続きを行わなければならかった。しかし度々のパスフレーズ入力は場合によっては作業効率を下げることもある。例えばsshでリ

特集
 ここまで説明してきた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

と入力すると、鍵の指紋が一覧表示される。

office
office@ukky.net
http://www.office.ac/

(詳しくはScan本誌をご覧ください)
http://www.vagabond.co.jp/vv/m-sc.htm

《ScanNetSecurity》
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 永世名誉編集長 りく)

×