V práci máme hostitele skoku SSH, který vyžaduje použití sudo ssh
na SSH do cílového hostitele. Něco jako toto:
ssh jump-host
sudo -u sshuser ssh final-host
Snažím se to začlenit do konfigurace ProxyCommand nebo podobného nastavení SSH, abych mohl spustit ssh final-host
, ale nejsem si jistý, jak nebo jestli je to možné.
Přijatá odpověď:
Ne, nemůžete integrovat vzdálené sudo
volání do ProxyCommand
ve vašem use-case, ale můžete – od OpenSSH 7.6 (říjen 2018) – použít:
Vzdálený příkaz
Určuje příkaz, který se má provést na vzdáleném počítači po úspěšném připojení k serveru. Příkazový řetězec sahá až na konec řádku a je spuštěn pomocí uživatelského shellu. Argumenty pro
RemoteCommand
přijmout tokeny popsané v sekci TOKENS.
Můžete tedy provést záznam v .ssh/config
takhle:
Host finalhost
RemoteCommand sudo -u sshuser ssh final-host
RequestTTY yes
Hostname jumphost
Host jumphost
User jumpHostUser
... Other options for jumphost, if necessary
Toto funguje pouze pro subsystém terminálu, tedy sftp finalhost
vás vysadí na jumphost , nikoli finalhost . git
a některé další nástroje nebudou fungovat s finalhost .