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.
Antwort1
Zuerst müssen Sie ssh-agent
Ihren 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 3600
wenn Sie eine unbegrenzte Lebensdauer wünschen.)
dann meldest du dich einfach per SSH bei einem deiner Server an, mit der -A
Option
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, -A
kö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/config
kurz 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:
- Client zu Server 1
- Client zu Server 1 ==> Server 2
Wenn Sie möchten:
- Client zu Server 1
- 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
-A
Die einfache Antwort besteht darin, eine Flagge wie diese hinzuzufügen :
ssh -A [user]@[hostname]