Назад | Перейти на главную страницу

Как я могу обмануть ssh для подключения с использованием различных конфигураций в зависимости от текущего местоположения?

Вот следующий пример использования: желая ssh server1 в 3 сценариях:

Желаемый результат: иметь возможность использовать ту же команду и иметь возможность подключиться к серверу.

Вы уже как бы намекнули на решение, и с дополнительным намеком dave4420 я чувствую, что обманываю, публикуя ответ.

По сути, ssh-config ProxyCommand Директива решает проблему «как мне подключиться» для двух нелокальных случаев. Остающийся вопрос сводится к «как использовать одну команду и игнорировать проблему определения того, какой регистр использовать».

  • Определите псевдоним хоста в вашем файле .ssh / config для каждого из трех сценариев: Host server1a, Host server1b, Host server1c.

  • Всегда определяйте четвертый псевдоним, который будет вашей командой для подключения к этому серверу: Host server1.

  • Напишите сценарий, реализующий логику, которую вы определили в своем вопросе. Я не могу использовать здесь псевдокод, потому что я не уверен, какие тесты вы бы использовали, чтобы определить, в каком из трех случаев вы находитесь. Во всех трех случаях у вас есть команда ssh для использования, например ssh server1a. Используйте этот скрипт как ProxyCommand за четвертый ник.

Сейчас ssh server1 проксируется на ssh server1[abc] в зависимости от контекста.

Еще ProxyCommand в Глупые трюки SSH.