SSHセッションを通じてのみ私の秘密鍵を送信してください。

SSHセッションを通じてのみ私の秘密鍵を送信してください。

私のシナリオ:

localhost: contains my private key
serverA: contains my public key
serverB: contains my public key

次回ログインしていますサーバーAいくつかのファイルのコピーに関連するいくつかのタスクを実行します。サーバーB共通ユーザー名でログインするため、秘密鍵を保存したくありません。サーバーA。つまり、理想的には次のことができます。SSHセッションを通じてのみ私の秘密鍵を送信してください。使用可能にしたssh-agent後から始めます。サーバーA到着サーバーB、私の秘密鍵をメモリから読み取って検証に使用します。サーバーB。可能ですか?

ベストアンサー1

はい、それはssh -Aまさに標識の目的です。

ssh-agentこれは実行に追加されたキーに対してのみ機能します。地元のマシン。接続時にパスワードを入力する必要がある場合serverA(またはパスワードのないキーを使用している場合)は機能しません。

マニュアルページから:

-ㅏ
認証プロキシ接続転送をイネーブルにします。これは設定ファイルでホストごとに指定することもできます。

プロキシ転送は慎重に有効にする必要があります。リモートホスト(エージェントのUNIXドメインソケット用)でファイル権限をバイパスできるユーザーは、転送された接続を介してローカルエージェントにアクセスできます。攻撃者はプロキシからキーマテリアルを取得できませんが、プロキシにロードされたIDを使用して認証できるキーに対してアクションを実行する可能性があります。

-ㅏ
認証プロキシ接続転送を無効にします。

ただし、引用の警告に注意を払うことをお勧めします。-Aキーは公開しませんが、誰でもssh-agentソケットへの読み取り/書き込みアクセスを許可します。サーバー上ソケットが見つかる場所を知っている場合は、資格情報を使用できます。通常のユーザーとしてログインしているため、そのユーザーへのアクセス権を持つ他の人は誰でもアクセスできます。あなたの代理人。

私の考えでは、SSH_AUTH_SOCKサーバー上にあるのは、サーバー上で実行されているSSH-agentに直接トラフィックを転送することだけです。地元のマシン。

おすすめ記事