web-dev-qa-db-ja.com

パスフレーズを要求せずにキーを永続的にssh追加します

パスフレーズ付きの秘密鍵を持っています

そして、私はUbuntu 14.04を実行している2台のコンピューターを持っています

  • 最初にssh-add ~/.ssh/id_rsaを使用してキーを追加しました。パスフレーズを尋ねられ、永久に追加されました。

  • 一方、ssh-add ~/.ssh/id_rsaを使用してキーを追加すると、パスフレーズが要求され、一時的に追加されます(次回の再起動時に削除されます)。

ただし、パスフレーズのない他のすべてのsshキーは自動的に追加されます。

ここで説明した解決策を試しました: https://stackoverflow.com/questions/3466626/add-private-key-permanently-with-ssh-add-on-ubunt

しかし、それは機能しません。そして、私は本当にそれがどのように機能するのかわかりません(肯定的なフィードバックにもかかわらず)。

SSH configファイルでSSHキーを「IdentityFile」として定義するだけで、パスフレーズを使用してSSHキーが自動的に追加されるとは思えません。 ssh-add〜/ .ssh/id_rsaを実行すると、システムはパスフレーズをどこかに保存しますが、設定に「IdentityFile」を追加する場合にのみ使用します。パスフレーズのないsshキーの場合、「IdentityFile」は必要ありません。

誰かがこれでssh-addがどのように機能するか知っていますか? ssh-addの振る舞いはどうしてそれほど決定的でないのでしょうか?

3
vemonet

何が問題なのかがわかりました。 ssh-agentにgnome-keyringとタツノオトシゴを追加しているようです

シーホースは、公開鍵(.pub)が.sshにある必要があります(秘密鍵の隣)を自動的に追加するために

1
vemonet

パスフレーズを使用してキーを永続的に追加する方法はありません。暗号化されたキーは、ssh-agentのメモリに保存されます。これは、再起動後も保持されません。

デフォルトの場所にあるキーまたは~/.ssh/configに記載されているキー(パスフレーズなし)は、エージェントに追加する必要はありません。 sshはそれらを自動的に選択します。

0
Jakuje