エージェントへのキーの追加は一時的です。それらは、エージェントが実行されている間のみ持続します。強制終了するか、コンピューターを再起動すると、再度追加するまで失われます。ssh-agent
manページから:
ssh-agentは、公開鍵認証(RSA、DSA、ECDSA)に使用される秘密鍵を保持するプログラムです。アイデアは、ssh-agentはXセッションまたはログインセッションの開始時に開始され、他のすべてのウィンドウまたはプログラムはssh-agentプログラムへのクライアントとして開始されるということです。環境変数を使用すると、ssh(1)を使用して他のマシンにログインするときに、エージェントを見つけて認証に自動的に使用できます。
エージェントには最初、秘密鍵はありません。キーはssh-add(1)を使用して追加されます。引数なしで実行する場合は、ssh-addは(1)ファイルを追加し~/.ssh/id_rsa
、~/.ssh/id_dsa
、~/.ssh/id_ecdsa
と~/.ssh/identity
。IDにパスフレーズが含まれている場合、ssh-add(1)は端末にパスフレーズがあるかどうか、またはX11で実行している場合は小さなX11プログラムからパスフレーズを要求します。これらのどちらでもない場合、認証は失敗します。次に、IDをエージェントに送信します。複数のIDをエージェントに保存できます。エージェントはこれらのIDのいずれかを自動的に使用できます。 ssh-add -l
現在エージェントが保持しているIDを表示します。
macOS Sierra
macOS Sierra 10.12.2以降、AppleはSSH構成用のUseKeychain構成オプションを追加しました。に追加UseKeychain yes
すると、この機能を有効にできます~/.ssh/config
。
Host *
UseKeychain yes
OSXキーチェーン
私はOSXを使用していませんが、スーパーユーザーに関する次のQ&Aを見つけました:SSHキーでMac OS Xキーチェーンを使用する方法は?。
Mac OS X Leopard以降、キーチェーンはSSHキーの保存をサポートしていることを理解しています。誰かがこの機能がどのように機能するかを説明してください。
そのため、次のコマンドを使用して、SSHキーをキーチェーンにインポートできます。
$ ssh-add -K [path/to/private SSH key]
その後、キーは起動から起動まで持続します。
Macを再起動すると、キーチェーン内のすべてのSSHキーが自動的にロードされます。キーチェーンアクセスアプリでキーを表示できるだけでなく、次のコマンドラインからも表示できるはずです。
ssh-add -l
出典:スーパーユーザー-Mac OS XキーチェーンをSSHキーで使用する方法