Bei der Arbeit haben wir einen SSH-Sprunghost, der die Verwendung von sudo ssh
erfordert zu SSH in den Zielhost. Etwa so:
ssh jump-host
sudo -u sshuser ssh final-host
Ich versuche, dies in ein ProxyCommand- oder ähnliches SSH-Konfigurations-Setup zu integrieren, damit ich einfach ssh final-host
ausführen kann , aber ich bin mir nicht sicher, wie oder ob es möglich ist.
Akzeptierte Antwort:
Nein, Sie können kein Remote-sudo
integrieren Aufruf in einen ProxyCommand
in Ihrem Anwendungsfall, aber Sie können – seit OpenSSH 7.6 (Okt 2018) – verwenden:
RemoteCommand
Gibt einen Befehl an, der auf dem Remotecomputer ausgeführt werden soll, nachdem erfolgreich eine Verbindung zum Server hergestellt wurde. Die Befehlszeichenfolge erstreckt sich bis zum Ende der Zeile und wird mit der Shell des Benutzers ausgeführt. Argumente für RemoteCommand
Akzeptieren Sie die im Abschnitt TOKENS beschriebenen Tokens.
Sie können also einen Eintrag in .ssh/config
vornehmen so:
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
Dies funktioniert nur für das Terminal-Subsystem, also sftp finalhost
landen Sie auf Jumphost , nicht finalhost . git
und einige andere Tools funktionieren nicht mit finalhost .