So verwenden Sie die SSH-Agent-Weiterleitung

So verwenden Sie die SSH-Agent-Weiterleitung

Ich habe drei Systeme, einen Client, der nur den SSH-Client installiert, und Server_1 und Server_2. Ich verwende die öffentliche SSH-Authentifizierung und kann vom Client aus per SSH sowohl zu Server_1 als auch zu Server_2 wechseln. Ich habe denselben öffentlichen Schlüssel für Server 1 gespeichert und möchte jetzt per SSH von Server 1 zu Server 2 wechseln, wobei ich die Agent-Weiterleitung verwende, und ich möchte, dass mein privater Schlüssel nur auf dem Client bleibt. Bitte helfen Sie mir so schnell wie möglich, wie ich dieses Szenario umsetzen kann? Ich verwende diesen Link, weiß aber nicht, wie das geht.

Eine illustrierte Anleitung zur SSH-Agent-Weiterleitung: Öffentlicher Schlüsselzugriff mit Agent-Weiterleitung

Antwort1

Zuerst müssen Sie ssh-agentIhren Client aufrufen, damit er sich Ihren Schlüssel merkt

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

(vorausgesetzt, Ihr Schlüssel ist in gespeichert ~/.ssh/private_key_rsa. Sie können das auch weglassen, -t 3600wenn Sie eine unbegrenzte Lebensdauer wünschen.)

dann meldest du dich einfach per SSH bei einem deiner Server an, mit der -AOption

ssh -A server1

von dort aus können Sie dann per SSH auf Server2 zugreifen

ssh server2

Wenn Sie die Option nicht jedes Mal angeben möchten, -Akönnen Sie Folgendes hinzufügen ~/.ssh/config (auf dem Client und optional auf beiden Servern):

Host server1
 ForwardAgent yes

Host server2
 ForwardAgent yes

Dies funktioniert für beliebig viele Server. Um es ~/.ssh/configkurz zu halten, können Sie Platzhalter verwenden, z. B.

Host server?
  ForwardAgent yes

Antwort2

Server-Host an lokalen Host weiterleiten:

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

oder

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

Nachdem ich Ihre Frage noch einmal gelesen habe.

Sie möchten sich per SSH mit Server1 verbinden:

ssh user@server1

Dann möchten Sie sich per SSH mit Server2 verbinden:

Führen Sie vom Client aus im neuen Terminal Folgendes aus:

ssh user@server1
ssh user@server2

Dann haben Sie 2 Verbindungen:

  1. Client zu Server 1
  2. Client zu Server 1 ==> Server 2

Wenn Sie möchten:

  1. Client zu Server 1
  2. Client zu Server 2 (mit demselben Schlüssel.)

Führen Sie einfach den folgenden Befehl aus.

Auf dem Client:

Verwenden Sie tmux oder öffnen Sie 2 Terminals

ssh user@server1

Im neuen Terminal:

ssh user@server2

Antwort3

-ADie einfache Antwort besteht darin, eine Flagge wie diese hinzuzufügen :

ssh -A [user]@[hostname]

verwandte Informationen