ssh-add -K ~/.ssh/id_rsa
はキーをロードしますが、再起動するたびにパスワードを要求するようです。
ログインの間にキーパスワードを再入力する必要がない解決策を探しています。
コメント
、そして私は'そこにいます。私は最初にこのキーをOSX10.5で設定したと思います。 id_dsaですが、'それが重要だとは思いません。
私のid_rsa
キーにはパスワードがあります。
これをずっと前に解決したという問題もあり、'自分が何をしたかを正確に思い出せません。しかし、私はと思いますアイデアはssh-add
を実行するのではなく、ssh
直接。キーのパスフレーズとして表示されるウィンドウがポップアップ表示され、キーチェーンに保存するためのチェックボックスが表示されます。
@ Sorin-私の場合もそうです!私はずっと前に一度それを入力しなければならなかった、そしてそれ以来Macは私のためにそれを保存してくれた。うまくいけば、Harald 'のアドバイスが役立つでしょう。
キーチェーンパスワード(つまり、ログインパスワード)またはキー' sパスフレーズ?後者の場合'、パスフレーズは間違いなくキーチェーンに保存されていますか?これを確認するには、キーチェーンアクセスを開き、ログインキーチェーンで検索します。
回答
OSXの場合、ネイティブのssh-add
クライアントには、秘密鍵のパスフレーズをOSXキーチェーンに保存するための特別な引数があります。つまり、通常のログインでsshで使用できるようにロックが解除されます。OSXシエラでは後で、常にキーチェーンを使用するようにSSHを構成する必要もあります(以下の手順2を参照)。
パスフレーズなしでキーを使用することもできますが、セキュリティを希望する場合は、このワークフロー。
ステップ1-キーをキーチェーンに保存します
これを1回だけ実行します:
ssh-add -K ~/.ssh/[your-private-key]
キーパスフレーズを入力すると、再度要求されることはありません。
(OSXのSierraより前のバージョンを使用している場合は、完了です。手順2は必要ありません。)
ステップ2-常にキーチェーンを使用するようにSSHを構成する
OSX Sierraは、キーを永続化するという便利な動作を削除したようですログインの合間に、sshへのアップデートはデフォルトでキーチェーンを使用しなくなりました。このため、アップグレード後、および再起動するたびに、キーのパスフレーズを入力するように求められます。
解決策は非常に単純で、このgithubスレッドのコメント。設定方法は次のとおりです。
-
上記の手順1を完了して、キーチェーンにキーを保存していることを確認してください。
-
まだ作成していない場合は、~/.ssh/config
ファイルを作成します。つまり、ホームディレクトリの.ssh
ディレクトリに作成します。 config
というファイル。
-
その.ssh/config
ファイルに、次の行を追加します。 :
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa
~/.ssh/id_rsa
を秘密鍵の実際のファイル名に変更します。他の秘密鍵がある場合~/.ssh
ディレクトリに、それぞれにIdentityFile
行を追加します。たとえば、は2番目の秘密鍵です。
UseKeychain yes
は鍵部分であり、SSHにOSXキーチェーンで鍵を探すように指示します。パスフレーズ。
-
それだけです!次回ssh接続をロードすると、指定した秘密鍵が試行され、OSXキーチェーンでパスフレーズが検索されます。パスフレーズを入力する必要はありません。
コメント
回答
同様の問題が発生し、毎回私のパブキーパスフレーズ。上記のユーザー「trisweb」の提案に従って、~/.ssh/config
に対して次のオプションをオンにしました。
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/id_rsa
しかし、それでもsshを使いたいと思うたびにプロンプトが表示されました。最終的に、ssh -v
をオンにして、次のデバッグ行を見つけました。
debug1: key_load_private: incorrect passphrase supplied to decrypt private key
次に、「キーチェーンアクセス」でキーチェーンを開きました。 .app」、「SSH:/Users/username/.ssh/id_rsa」という名前のキーを見つけて開きました。 [パスワードを表示]をクリックしてパスワードを開示しましたが、実際、キーリングのパスフレーズが古いパスフレーズであることがわかりました。キーチェーンアクセスでパスフレーズを更新しましたが、パスワードなしで機能するようになりました。
次のフレーズでパスフレーズを更新することもできます:
ssh-keygen -p -f ~/.ssh/id_rsa
コメント
回答
上記が機能しなかったすべての場所へ、私の問題は、UseKeychain yes
& AddKeysToAgent yes
をすべて複製していたことが原因のようです。 sshキープロファイル/ショートカット。 ~/.ssh/config
ファイルを更新して、これらを1回だけ宣言すると、起動時にパスワードの入力を求められることなく、ログイン時にすべて読み込まれるようになりました。例:
Host * UseKeychain yes AddKeysToAgent yes IdentityFile ~/.ssh/foo IdentityFile ~/.ssh/bar Host foo HostName foo.com User fooUser IdentityFile ~/.ssh/foo Host bar HostName bar.com User barUser IdentityFile ~/.ssh/bar
コメント
回答
また、 macOS SierraおよびHighSierra(以前のバージョンについてはわかりません)でssh-add -A
を実行すると、エージェントはパスフレーズがキーチェーンに保存されているすべてのキーをロードできます…とても便利です
回答
公開鍵を次の場所に追加します:
.ssh/known_hosts
公開キーは通常オンになっています:
/home/user/.ssh/id_rsa.pub
役立つことを願っています
コメント