ssh-agent プログラムは、SSH 秘密鍵のパスワードを処理する認証エージェントです。 ssh-add を使用して、ssh-agent によって維持されるリストにキーを追加します。秘密鍵のパスワードを ssh-agent に追加すると、公開鍵を使用してリモート ホストに接続するたびにパスワードを入力する必要がなくなります。
認証キーペアの生成
ssh-keygen を使用します 以下で説明するように、コマンドを使用して認証キー ペアを生成します。キー ペアを作成するときに、「password」などのパスフレーズを指定します。
# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U root@geeklab The key's randomart image is: +---[RSA 2048]----+ | o. .oo. | |. o...ooo | | o .E=o+ . | |+ * B.+ o | |.* @ +.*S | |=.o.+.++o | |o=o...+. | |= .. o. | |o. | +----[SHA256]-----+
公開鍵をリモート ホストにコピーします
1. 公開鍵を ~/.ssh/authorized_keys にコピーします
# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
2. 「ssh ‘[email protected]’」でマシンにログインしてみて、.ssh/authorized_keys をチェックインします。 ファイルを調べて、予期しない余分なキーが追加されていないことを確認してください。
$ ssh 192.168.12.10 Enter passphrase for key '/root/.ssh/id_rsa': Last login: Wed Apr 06 09:03:50 2014 from 192.168.12.20
秘密鍵のパスワードを ssh-agent に追加
1. 秘密鍵のパスワードを ssh-agent に追加するには、次のコマンドを入力します:
# exec ssh-agent $SHELL
2. 次のステップは、ssh-add コマンドを使用して鍵を追加することです。
# ssh-add Enter passphrase for /root/.ssh/id_rsa: Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)
3. 「ssh-add -l」コマンドは、現在エージェントによって表されているすべての ID のフィンガープリントを一覧表示します。
# ssh-add -l 2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)
4. 今すぐパスワードなしでリモート システムへのログインを試すことができます。
$ ssh 192.168.12.10 Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20
この例では、パスフレーズは現在のログイン セッションでのみ記憶され、ログアウトすると忘れられます。