Виключення одного SSH-хоста з маршруту SOCKS за замовчуванням
Розмістіть виняток ProxyCommand none перед правилом wildcard за замовчуванням і перевірте чинну конфігурацію OpenSSH для запитаного хоста.
Коли конфігурація OpenSSH типово використовує з'єднувач SOCKS, розмістіть названий виняток перед цим широким правилом:
Host internal.example
ProxyCommand none
Host *
ProxyCommand nc -X 5 -x proxy.example:1080 %h %p
Цей приклад використовує інтерфейс параметра nc з OpenBSD для SOCKS5. З'єднання через ssh internal.example вибирає виняток; решта хостів отримує з'єднувач за замовчуванням. Для дозволених публічних призначень SSH запис без облікового запису зі списку проксі SOCKS5 може надати адресу проксі за замовчуванням, якщо він дозволяє кожен фактичний хост і порт SSH; збережіть потрібний внутрішній виняток.
Порядок важливий, бо OpenSSH використовує перше отримане значення параметра. Виняток має зустрітися раніше, ніж відповідне значення за замовчуванням надасть ProxyCommand, зокрема значення, прочитані через файли Include.
Перевірте чинні налаштування для конкретного виклику командою:
ssh -G internal.example
Шаблони хостів зіставляються з іменем, яке використовується для виклику SSH. Якщо команда застосовує псевдонім, чий HostName вказує на internal.example, дайте цьому псевдоніму той самий виняток. Так правило лишається прив'язаним до реального пошуку в конфігурації, а не до припущення, що еквівалентне ім'я в DNS вибирає той самий блок.