Ich habe einen Eintrag in ~ / .ssh / config auf meinem Computer zu Hause, der folgendermaßen aussieht:
host foo bar
ProxyCommand ssh -x -a -q gateway.example.com nc %h 22
Wo gateway.example.com
arbeitet ein Server, der sowohl mit dem öffentlichen Internet als auch mit einem internen Netzwerk verbunden ist? Das Gateway-Feld löst foo und bar mithilfe von Einträgen in / etc / hosts auf.
Mein Problem ist, dass ich eine Box erreichen muss, die sich auf der anderen Seite befindet foo
. Nennen wir es "baz". Der "baz" -Host befindet sich in einem anderen privaten Netzwerk, mit dem foo verbunden ist, aber nicht mit dem, mit dem "gateway" verbunden ist.
Ich habe versucht, dies zu verwenden:
host baz
ProxyCommand ssh -x -a -q gateway/example.com ssh foo nc %h 22
Aber das funktioniert nicht und ich bin ein bisschen überfordert. Wie mache ich das?
Ich denke nicht, dass es wichtig sein sollte, aber ich mache das in Ubuntu 10.
-W
arbeiten zu können. Es basiert auf dem Portweiterleitungscode auf der Serverseite, der viel älter ist.Geben Sie diesen Befehl mit privaten Schlüsseln ein, die auf Ihrem lokalen Computer gespeichert sind, und geben Sie die privaten Schlüsselpfade, Shell-Benutzernamen und Hostnamen / IP-Adressen ein, die in die Anforderungen Ihres lokalen-> Gateways-> Ziel-SSH geändert wurden.
Beachten Sie, dass ProxyCommand der Agentenweiterleitung vorgezogen wird, um das Risiko einer Beeinträchtigung der Authentifizierung mit privatem Schlüssel zu verringern (Verwendung des Gateways und der lokalen SSH-Agentenverbindung, um weitere Hosts zu gefährden, als ob der Hijacker den privaten Schlüssel hätte), wenn ein Gateway / eine Jumperbox als Root entführt wird.
Einzelbefehl zum Proxy von SSH an einen Server (beide privaten Schlüssel auf dem lokalen Computer behalten):
quelle
Dies ist, was ich tue, um aus einem geschützten Netzwerk ins Internet zu springen.
Ich benutze meinen Laptop, um beim Erstellen mit Code zu arbeiten . Da der Build auf den Internetzugang beschränkt ist, muss ich zuerst in die Toolbox springen , die auch keinen Internetzugang hat , um ein Repo von github.com zu klonen . Aber es kann auf GW zugreifen , das über Internet verfügt.
So was:
Mein
.ssh/config
On Build :Erläuterung.
git clone [email protected]:aRepo/There
funktioniert es einfach!Klar?
quelle