Le risposte precedenti menzionano come usare la direttiva ProxyJump (aggiunta in OpenSSH 7.3) per connettersi attraverso un server intermedio (di solito indicato come l'host bastion), ma menzionarlo proprio come argomento della riga di comando.
A meno che non sia una macchina su cui non ti collegherai in futuro, la cosa migliore è configurarla ~/.ssh/config
.
Vorrei mettere un file come:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
Se stai usando una versione precedente di OpenSSH che non supporta ProxyJump, la sostituiresti con l'equivalente:
ProxyCommand ssh -W %h:%p bastion-machine
e se la tua versione ssh locale era davvero antica che non supportava -W
:
ssh bastion-machine nc %h %p
sebbene quest'ultimo richieda l' nc
installazione della macchina bastione .
Il bello di ssh è che puoi configurare ogni destinazione sul file e si impileranno molto bene. Quindi finisci per lavorare con office-machine
il nome host su tutti gli strumenti (ssh, scp, sftp ...) poiché erano connessioni dirette e scopriranno come connettersi in base a ssh_config. Potresti anche avere caratteri jolly come Host *.internal.company.local
far terminare tutti gli host in quel modo attraversando un bastione specifico e si applicherà a tutti loro. Una volta configurato correttamente, l'unica differenza tra fare una connessione hop o venti sarebbe i tempi di connessione più lenti.