Gibt es eine Möglichkeit, mit einem einzigen Befehl eine SSH-Verbindung von meinem Computer A über Computer B zu Computer C herzustellen, sodass ich Zugriff auf die Shell auf Computer C habe?
Eine Falte (die anscheinend das einfache Weiterleiten der SSH-Verbindung mit der Option -L ausschließt) ist, dass ich das Kennwort für das Konto auf Computer B habe und das Konto auf Computer B berechtigt ist, eine Verbindung mit dem Konto auf Computer C herzustellen, aber Ich habe kein Passwort für das Konto auf Computer C.
Antworten:
Ich habe verstanden, dass Sie sich nur am Computer C anmelden und nichts von A nach C tunneln möchten. Dies sollte also den Trick tun:
Möglicherweise müssen Sie Kennwörter zweimal eingeben, zuerst für Computer B und dann für Computer C, aber dies kann durch Verwendung der Schlüsselpaarauthentifizierung von ssh vermieden werden.
quelle
ssh -t computer-b "ssh -t computer-c 'ssh computer-d'"
: DSie möchten wahrscheinlich den ProxyCommand von SSH verwenden: http://benno.id.au/blog/2006/06/08/ssh_proxy_command
quelle
Wenn Sie SSH-Schlüssel verwenden, können Sie einen neuen Schlüssel für Computer B generieren und diesen für die Verbindung von A nach B verwenden. Auf Computer B können Sie einen hinzufügen
in der
~/.ssh/authorized_keys
Datei. Das heißt, wenn Sie mit dieser SSH-Taste eine Verbindung zu B herstellen, wird derssh C
Befehl ausgeführt.Ich weiß nicht, ob das mit scp funktioniert.
quelle
Benutzen
ProxyCommand
Siehe
man ssh_config
. Ich empfehle, davon Gebrauch zu machenProxyCommand
. Nehmen wir Ihr ursprüngliches Szenario:Bearbeiten Sie
~/.ssh/config
mit den folgenden Inhalten.Jetzt können Sie Computer C transparent erreichen
Vorteile dieser Methode
Sicherer
Sie benötigen nur Ihren privaten Schlüssel, um sich auf Computer A (Ihrem Computer) zu befinden. Der
nc
Befehl fungiert als Proxy, in dem SSH den Datenverkehr verschlüsselt. Dies beinhaltet die Authentifizierung. Es ist eine sehr schlechte Idee, Ihren privaten Schlüssel auf mehrere Server zu verteilen (da jeder gefährdete Server mit Ihrem privaten Schlüssel letztendlich Ihren privaten Schlüssel gefährdet).Entspricht mehreren Zielen
Man kann mehrere Zielcomputer mit abgleichen
Host
. Ein einzelner Computer oder ein beliebiger Computer innerhalb eines bestimmten Netzwerks (z. B.192.168.35.0/24
im obigen Beispiel) als Proxy über Computer B. Er dient auch als Alias.Im obigen Beispiel wird ein Proxy über Computer B ausgeführt, um zur IP-Adresse zu gelangen.
Daisy-Chain-Proxys
Mit dieser Methode können Sie so viele automatische Proxys wie nötig verketten. Sie können beispielsweise einen Computer D hinzufügen, der nur von Computer C aus erreichbar ist und transparent funktioniert.
ssh computerd
In den obigenssh_config
Beispielen wird automatisch ein Proxy über Computer C und Computer B ausgeführt .quelle