1

На моем рабочем ноутбуке, если мне нужно SSH к неработающему компьютеру, мне нужно пройти через прокси-сервер, но только когда я нахожусь в рабочей сети (в офисе или в VPN). Я делаю это, устанавливая строку ProxyCommand в моем файле конфигурации SSH. Когда я не нахожусь в офисе или в глобальной сети, я не хочу использовать прокси. Есть ли простой способ автоматизировать решение использовать или не использовать прокси?

1 ответ1

0

[Отвечать на комплименты Касперда за ServerFault.]

В вашем .ssh/config используйте ключевое слово Match для создания условного раздела.

Ключевое слово Match принимает разные аргументы, один из которых - exec который позволит вам запустить внешнюю команду и использовать возвращаемое значение этой команды, чтобы решить, применяется этот раздел или нет.

Вы можете использовать это для запуска скрипта, который проверяет любые сетевые настройки, которые вы можете использовать, чтобы определить разницу между различными сетями. Сценарий должен возвращать 0, когда требуется ProxyCommand и любое ненулевое значение, когда ProxyCommand не требуется.

Вот пример того, как может выглядеть конфигурация:

Match host external-host.example.com exec /home/joe/bin/need-proxy
  ProxyCommand /home/joe/bin/proxy-script %h %p

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .