Jeśli korzystasz z nowszej wersji OpenSSH (7.3+), możesz użyć tej, ProxyJumpktóra wszystko magicznie łączy:
ssh -J windows_machine remote_server
Które w twoim ~/.ssh/configwyglądzie to:
Host remote_server
HostName remote_server
ProxyJump windows_machine
User myname
ProxyJumpobsługuje pełną składnię SSH, więc jeśli jesteś jimwłączony windows_serveri używa portu 2222dla ssh. remote_serverjest na IP 192.168.0.110z windows_serverczym można napisać:
Host remote_server
HostName 192.168.0.110
ProxyJump jim@windows_machine:2222
User myname
I wciąż po prostu biegnij, ssh remote_serveraby się tam dostać.
Jeśli korzystasz ze starszej wersji SSH, użyj ProxyCommand - pozwala to powiedzieć SSH, aby najpierw uruchomiło polecenie ustanowienia połączenia proxy, przed uruchomieniem rzeczywistego polecenia SSH.
ssh -o ProxyCommand='ssh -W %h:%p windows_machine' remote_server
Wykorzystuje to opcję SSH -W , która jest skrótem dla bardziej tajemniczej składni netcat .
Zwróć uwagę, że ponieważ podczas uruchamiania ssh remote_serverjesteś teraz na komputerze windows_machine, musisz upewnić się, że używasz adresu IP remove_server z pola skoku zamiast adresu IP z komputera - mogą one być takie same.
Następnie możesz dodać tę dyrektywę do swojego ~/.ssh/configpliku:
Host remote_server
HostName remote_server
User myname
ProxyCommand ssh -W %h:%p windows_machine
Oznacza to, że jeśli remote_server jest to inna maszyna, jak widać, windows_machinemożesz ją ustawić w konfiguracji i nadal używać ssh remote_server.