Якщо ви використовуєте більш нову версію OpenSSH (7.3+), ви можете використовувати, ProxyJump
яка випікає все разом магічно:
ssh -J windows_machine remote_server
Що на ваш ~/.ssh/config
погляд виглядає так:
Host remote_server
HostName remote_server
ProxyJump windows_machine
User myname
ProxyJump
підтримує повний синтаксис SSH, тому якщо ви jim
ввімкнено, windows_server
він використовує порт 2222
для ssh. remote_server
знаходиться в IP 192.168.0.110
з того windows_server
часу, ви можете написати:
Host remote_server
HostName 192.168.0.110
ProxyJump jim@windows_machine:2222
User myname
А ще просто бігайте, ssh remote_server
щоб туди потрапити.
Якщо ви використовуєте старішу версію SSH, використовуйте ProxyCommand - це дозволяє сказати SSH спочатку виконати команду для встановлення проксі-з'єднання, перш ніж запустити фактичну команду SSH.
ssh -o ProxyCommand='ssh -W %h:%p windows_machine' remote_server
Для цього використовується опція SSH -W , що є скороченням для більш прихованого синтаксису netcat .
Зауважте, що коли ви запускаєтесь, ssh remote_server
вам зараз windows_machine
потрібно переконатися, що ви використовуєте IP-адресу remove_server
з вікна стрибка, а не IP-адреси з вашої машини - вони цілком можуть бути однаковими.
Потім ви можете додати цю директиву у свій ~/.ssh/config
файл:
Host remote_server
HostName remote_server
User myname
ProxyCommand ssh -W %h:%p windows_machine
Це означає, що якщо remote_server
це інша машина, як видно з того windows_machine
часу, ви можете помістити це в конфігурацію і все одно просто використовувати ssh remote_server
.