Як налаштувати переадресацію порту після відкриття ssh-з'єднання?


13

Я використовую openssh і на клієнті, і на сервері. Я знаю, що можу запустити ssh -Lабо ssh -Rвстановити деякі переадресації портів через ssh. Однак, оскільки вони є параметрами командного рядка, такі перенаправлення повинні бути записані до відкриття з'єднання.

Чи можна налаштувати переадресації портів на ходу за допомогою клієнтського рядка ssh-клієнта?

Коли я використовував PuTTYssh-клієнт, я міг інтерактивно налаштувати переадресацію порту, поки з'єднання вже було відкрито, не відмовляючись і не відновлюючись, тому я знаю, що це технічно можливо.

Відповіді:


24

Якщо ви використовуєте командний рядок SSH, і ви не вимкнули функцію втечі символу , ви можете ввести ~Cпісля нового рядка, щоб відкрити міні-консоль клієнта ssh. Потім введіть -L port:host:portабо -R port:host:portабо , -D portяк ви б в командному рядку , щоб додати перенаправлення або -KR portвидалити перенаправлення.

Більш гнучким способом налаштування переспрямувань без повторної перевірки автентичності є запуск першого ssh-клієнта як головного ( -Mабо -o ControlMaster=auto), а наступних клієнтів як рабів ( -Sабо -o ControlMaster=auto). Тунель рабів через з'єднання, встановлене майстром. Можливо, вам потрібно буде встановити ControlPathв командному рядку або у вашому ~/.ssh/config; див. опис параметрів на ssh_configсторінці man для отримання додаткової інформації.


У випадку, якщо хтось зіткнеться з ~C escape not available to multiplexex sessionsпроблемою, як я щойно зробив це, не вирушайте на полювання на ваш головний зв’язок. Натомість просто додайте -O forwardдо команди переадресації порту ssh, як у програмі, ssh -O forward -nfL 1234:whatever:1234 theserverі вона працюватиме.
Патрік
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.