【Linuxコマンド】ssh-agent/ssh-add 〜SSHパスフレーズ入力を省略〜

Linux
スポンサーリンク

概要

  • 鍵認証方式でサーバにSSHログインする際に、毎回秘密鍵のパスフレーズを入力するのはめんどくさい
  • でも、パスフレーズなしはセキュリティ的に問題

といった問題を、一時的に秘密鍵のパスフレーズを覚えさせたシェルを使用して解決できるコマンドです。

これだけ覚えれば使える!!

ssh-agentの起動

まずは、ssh-agentを起動します。新しくssh-agentの動くbashを開くイメージ。

$ ssh-agent bash

agentへの鍵の登録

ssh-agentに秘密鍵を登録します。実行すると秘密鍵のパスフレーズを聞かれるので入力します。これで、SSHログインする際にパスフレーズを入力する必要がなくなります。

複数の鍵を登録することもできます。

$ ssh-add ~/.ssh/id_rsa

※ ~ はホームディレクトリ(/home/UserName)を意味するbashの特殊記号(メタキャラクタ)です。

agentに登録されている鍵の確認

登録した鍵は以下のコマンドで確認できます。

$ ssh-add -l

SSH先へagent内の鍵情報を引き継ぎたい場合

sshコマンドの -A オプションを使用します。
以下の例では、Srv01から他のサーバにSSHログインする場合にパスフレーズが聞かれないようになります。

### Srv01にssh-agentの鍵情報を引き継いでSSHログインする
$ ssh -A Srv01

agentの終了

ssh-agentを動かしているbashを終了するだけですので、exitで大丈夫です。

$ exit

一応、ssh-agentの -k オプションでも終了できます。

$ ssh-agent -k

おわりに

秘密鍵のパスフレーズ入力を都度行わなくて済むssh-agentの紹介でした。

地味ですが、作業効率をあげることができるので覚えておくと便利なときがあるかも?

コメント

タイトルとURLをコピーしました