SSHエージェント転送の使い方

SSHエージェント転送の使い方

私には 3 つのシステムがあります。SSH クライアントのみをインストールしたクライアントと、server_1 と server_2 です。SSH パブリック認証を使用しており、クライアントから server_1 と server_2 の両方に SSH 接続できます。サーバー 1 に同じ公開キーを保存し、エージェント転送を使用してサーバー 1 からサーバー 2 に SSH 接続し、秘密キーをクライアントのみに保持したいのですが、このシナリオをどのように実行すればよいか、至急教えてください。このリンクを使用していますが、方法がわかりません。

SSH エージェント転送の図解ガイド: エージェント転送による公開鍵アクセス

答え1

ssh-agentまずクライアントにキーを記憶させるために呼び出す必要があります

ssh-agent -t 3600 ~/.ssh/private_key_rsa

(キーが に保存されていると仮定すると、無期限の有効期間が必要な場合は を~/.ssh/private_key_rsa省略することもできます)-t 3600

-A次に、オプションを使用してサーバーの1つにSSH接続します。

ssh -A server1

そこからserver2にsshで接続できるようになります

ssh server2

毎回オプションを指定したくない場合は-A、次のコードを~/.ssh/config (クライアント側とオプションで両方のサーバー側)に追加します。

Host server1
 ForwardAgent yes

Host server2
 ForwardAgent yes

これは任意の数のサーバーで機能します。短くするために、~/.ssh/configワイルドカードを導入することができます。例:

Host server?
  ForwardAgent yes

答え2

サーバーホストをローカルホストに転送:

ssh -L localhost:22:localhost:22 user@host

または

ssh -N -f -L serverhost:22:localhost:22 user@server1

あなたの質問をもう一度読みました。

server1 に ssh で接続します:

ssh user@server1

次に、server2 に ssh で接続します。

クライアントから新しいターミナルに以下を実行します:

ssh user@server1
ssh user@server2

すると、2 つの接続が存在します。

  1. クライアントからサーバー 1
  2. クライアントからサーバー 1 ==> サーバー 2

ご希望の場合:

  1. クライアントからサーバー 1
  2. クライアントからサーバー 2 (同じキーを使用)

次のコマンドを実行するだけです。

クライアント側:

tmuxを使用するか、ターミナルを2つ開く

ssh user@server1

新しいターミナルの場合:

ssh user@server2

答え3

簡単な答えは、次のようにフラグを追加することです-A

ssh -A [user]@[hostname]

関連情報