web-dev-qa-db-ja.com

「エージェントにアイデンティティがない」とはどういう意味ですか?

SSHキーの生成方法について、GitHubの これらの手順 を順守しましたが、GitHubとの接続は成功しています。

しかし、後でSSHキーを確認したい場合 これらの手順ssh-add -lを使用すると、GitHub SSHキーの設定ページに表示されるSSHフィンガープリントを取得できません。

SSHキーのフィンガープリントの代わりに、メッセージThe agent has no identities.が表示されます。なぜですか?そしてそれはどういう意味ですか?

15
user2312234

これは、エージェントにキーを正常に追加していないことを意味します。これを行うには、最初のリンクのステップ3、パート2にあるように、ssh-addを使用します。

これは、ssh-agentインスタンスごとに行う必要があることに注意してください。したがって、ログアウトして再度ログインする場合は、鍵を再度ssh-addする必要があります。同様に、2つの異なるターミナルウィンドウでssh-agentを2回起動すると、2つの異なるターミナルウィンドウで秘密鍵が共有されないため、各ウィンドウでssh-addを1回実行する必要があります(または、デスクトップセッションで実行中のすべてのアプリケーション間でエージェントを共有するような方法でシステムを構成します)。

最新のデスクトップ環境は通常、SSHキーリングを提供するため、エージェントがそのように構成されている場合は、ssh-agentを自分で開始する必要はありません。また、提供されたエージェントインスタンスは、セッション全体で共有する必要があります。 gnome-keyringは、AppleのキーチェーンやKDEのウォレット(ksshaskpassが有効)と同様に、このように動作します。

10
Charles Duffy