Les réponses précédentes mentionnent comment utiliser la directive ProxyJump (ajoutée dans OpenSSH 7.3) pour se connecter via un serveur intermédiaire (généralement appelé hôte bastion), mais le mentionnent uniquement comme argument de ligne de commande.
À moins que ce soit une machine sur laquelle vous ne vous connecterez pas à l'avenir, la meilleure chose à faire est de la configurer ~/.ssh/config
.
Je mettrais un fichier comme:
Host office-machine
Hostname yochay-machine.internal.company.local
ProxyJump bastion-machine
Host bastion-machine
Hostname organization-server.company.com
...
Si vous utilisez une version antérieure d'OpenSSH qui ne prend pas en charge ProxyJump, vous devez la remplacer par l'équivalent:
ProxyCommand ssh -W %h:%p bastion-machine
et si votre version locale de ssh était très ancienne et ne supportait pas -W
:
ssh bastion-machine nc %h %p
bien que ce dernier nécessite l' nc
installation de la machine bastion .
La beauté de ssh est que vous pouvez configurer chaque destination sur le fichier, et elles s'empileront très bien. Ainsi, vous finissez par travailler avec office-machine
le nom d'hôte sur tous les outils (ssh, scp, sftp ...) car ils étaient des connexions directes, et ils découvriront comment se connecter en se basant sur ssh_config. Vous pouvez également avoir des caractères génériques Host *.internal.company.local
pour que tous les hôtes se terminant comme ça passent par un bastion spécifique, et cela s'appliquera à tous. Une fois configuré correctement, la seule différence entre faire une connexion à un saut ou vingt serait le temps de connexion plus lent.