Вот следующий пример использования: желая ssh server1
в 3 сценариях:
~/.ssh/config
определить туннелирование для этогоЖелаемый результат: иметь возможность использовать ту же команду и иметь возможность подключиться к серверу.
Вы уже как бы намекнули на решение, и с дополнительным намеком 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.