ダブルSSHはRSAキーのロックを解除するためにパスフレーズを要求しますが、そうすべきではありません

ダブルSSHはRSAキーのロックを解除するためにパスフレーズを要求しますが、そうすべきではありません

私は 2 台のマシン (M1 と M2) を持っており、どちらも OS X を実行しています。また、3 台目のマシン (L) は Linux を実行しています。M1 と M2 にはキーチェーンでロック解除された RSA キーがあるため、次の操作を実行できます。

  • パスワードやキーのパスフレーズを尋ねられることなく、M1 から M2 に ssh する
  • パスワードやキーのパスフレーズを尋ねられることなく、M2 から L に ssh する

しかし、M1 から M2 に ssh し、次に L に ssh すると (物理的にはまだ M1 上にいる間)、キーのパスフレーズの入力を求められます。コマンドlogin.keychainを使用して手動でロック解除を試みましたsecurityが、効果がないようです。

何が間違っているのでしょうか? パスフレーズを入力せずに SSH を二重に行うにはどうすればよいですか?

答え1

キーチェーンは期待通りに動作しています。-A は、ロードされたキーを M1 から M2 を経由して L に転送します。M2 にログインすると、グラフィカル ログイン プロセスとその副作用がすべて発生しなかったため、キーが初期化されず、完全なセッションが開始されないのではないかと思います。

エージェントを ssh する場所に転送したい場合は、ファイル ~/.ssh/config を作成し、ForwardAgent を yes に設定して * ホストのエントリを追加する必要があります。

Host *
    ForwardAgent yes

さらに、* をホスト名に置き換えることで、エージェントを転送するホストをより具体的に指定できます。

答え2

M2 から L にログインしようとしています。つまり、M2 に資格情報 (キーとパスフレーズ) が必要です。しかし、資格情報は実際には M1 にあります。

資格情報を M2 にコピーすることはできますが、その場合、M2 のキーチェーンを操作する必要があります。あるいは、M2 のキーチェーンではなく、M1 のキーチェーンに接続するように M2 に指示することもできます。これは実際には通常の方法であり、一部のインストールではすぐに使用できますが、どうやらあなたの環境ではそうではないようです。

有効にするエージェント転送M1 から M2 へ。OpenSSH のコマンド ラインで、オプション (つまり、 M1 で-A実行) を渡します。ディレクティブを に入れることもできます。OSX では、これを行う GUI の方法もあるかもしれません。ssh -A M2ForwardAgent~/.ssh/config

関連情報