Meine Situation :
Ich (localhost) -> Server A (ip: 100.100.100.100) => (Server B (ip: 192.168.25.100), Server ....)
Ich bin in der Lage zu SSH in Server, da es eine wahre IP hat, wenn ich dann eine Verbindung zu Server B herstellen möchte, würde ich Server B mit seiner IP ssh (192.168.25.100)
Beispiel:
von meinem pc:
ssh [email protected]
dann in 100.100.100.100,
ssh [email protected]
dies würde mich mit ssh zu Server B bringen
Was ist, wenn ich eine direkte Verbindung zu Server B herstellen möchte? wie kann ich das machen?
Beispiel:
von meinem oc:
[email protected]
Ich habe Folgendes versucht:
ssh -L 22:localhost:22 [email protected]
ohne Erfolg
quelle
me% ssh [email protected]
; haben wir das nicht schon besprochen? oder meinst du "was ist, wenn ich ein vollwertiges VPN zu A haben will?", in welchem Fall steht meine Antwort.Sie müssen die SSH-Portweiterleitung nicht verwenden, um über einen Proxy in einen internen Computer zu sshen. Sie können die ssh-Funktion verwenden, um einen Befehl auf dem ersten Server auszuführen, zu dem Sie eine Verbindung herstellen, um ssh auf einen dritten Computer zu übertragen.
Die
-t
Option zwingt ssh, eine Pseudotty zuzuweisen, damit Sie einen interaktiven Befehl ausführen können.Dies kann auch mit SSH-Schlüsseln funktionieren. Wenn Sie Ihren privaten und öffentlichen Schlüssel auf Computer A und Ihren öffentlichen Schlüssel in den Dateien für autorisierte Schlüssel auf Computer B und C haben, können Sie die
-A
Option zum Weiterleiten der Authentifizierungsagentenverbindung verwenden.quelle
Ich habe eine andere Lösung verwendet. Ich habe eine
ProxyCommand
Option verwendet (hier in~/.ssh/config
):Dies baut keinen Port-zu-Port-Tunnel auf, sondern tunnelt ssh mithilfe von Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Standard-Tunnel. Diese Methode hat den Nachteil, dass tatsächlich drei SSH-Verbindungen authentifiziert werden müssen. Um eine Verbindung zum internen Host herzustellen, geben Sie einfach Folgendes ein:
... Sie müssen sich also nicht um die Auswahl einer IP-Adresse für diesen Tunnel kümmern.
quelle
corkscrew
odernc
(netcat
), aber keine Arbeit so nahtlos wie diese.Laut der SSH-Manpage ist ProxyCommand die richtige Methode
Die Syntax lautet:
quelle
-W
Option vorhanden war, als diese Frage beantwortet wurde. Aber mit neueren Versionen des ssh-Clients bin ich einverstanden, dass die Kombination vonProxyCommand
und-W
die bevorzugte Methode ist. Fügen Sie möglicherweise einen Kontext hinzu, der sowohl die Verwendung in der Befehlszeile als auch ein Beispiel für einen Abschnitt für zeigt.ssh/config
.-W
Befehl haben und welche nicht? Ein bisschen googeln hat mir nicht schnell-W
Wurde mit OpenSSH 5.4 eingeführt und 2010 veröffentlicht. Die Antwort lautet also yes @kasperdAb OpenSSH 7.3 (Ende 2016) ist die ProxyJump- Einstellung der einfachste Weg . In Ihrem
~/.ssh/config
:Oder in der Befehlszeile,,
-J B
.quelle