Jeśli korzystasz z nowszej wersji OpenSSH (7.3+), możesz użyć tej, ProxyJump
która wszystko magicznie łączy:
ssh -J windows_machine remote_server
Które w twoim ~/.ssh/config
wyglądzie to:
Host remote_server
HostName remote_server
ProxyJump windows_machine
User myname
ProxyJump
obsługuje pełną składnię SSH, więc jeśli jesteś jim
włączony windows_server
i używa portu 2222
dla ssh. remote_server
jest na IP 192.168.0.110
z windows_server
czym 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_server
aby 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_server
jesteś 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/config
pliku:
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_machine
możesz ją ustawić w konfiguracji i nadal używać ssh remote_server
.