Regexp в .ssh/config

Следующая острота в оболочке помогла бы.

 foreach i (`find Source_Directory -type f --max-depth 1|tail -100`); do; {mv $i Target_Directory}; done
12
23.01.2013, 15:47
4 ответа

Как gelraen указанное значение по умолчанию ssh_config не будет поддерживать регулярные выражения, но можно попробовать что-то другое как:

11
27.01.2020, 19:55

Посмотрите PATTERNS раздел в man ssh_config.

Длинный ответ: Нет, Вы не можете, если Вы не исправляете Ваш ssh поддерживать это.

5
27.01.2020, 19:55

Вы можете использовать полные регулярные выражения в своем ssh_config.

Соответствующая документация IMO очень трудна для чтения и понимания. Я понимаю это только потому, что у меня 13+ лет опыта работы с Linux и 8+ лет использования ssh. Итак, вот мое резюме документации:

  • man ssh_configописывает функцию под названиемMatch
  • затем есть функция под названием exec, которая позволяет вам использовать произвольную команду оболочки для определения совпадения
  • передача входных параметров в произвольную команду оболочки возможна и описана в разделеTOKENS

В моем случае я использовал в своем~/.ssh/config:

Match exec "echo %h | grep -q 'NAME[0-9]\+$'"
    User USER
    IdentityFile /path/to/identity/file
    Hostname %h.fully.qualified.domain.name

Тестирование должно проводиться с чем-то вроде этого. И для этого тестирования вы звоните ssh -vvv HOSTNAME. Который точно покажет, что происходит, и правильно ли реализован ваш новый Match.

9
27.01.2020, 19:55

Расширение ответа от Тревора:

Также возможны более сложные хосты, например сопоставление foo123.123и foo10.10в одном правиле БЕЗ DNS-записей для используемых имен хостов:

Match exec "echo %h | grep -q 'foo[0-9]\+.[0-9]\+$'"
    Port 1234 # just to show it can be paired with non-default ports too,
              # see %p in man ssh_config
    ProxyCommand /usr/bin/nc 10.10.$(echo %h | sed -e 's/foo//') %p

Использование ProxyCommand для манипулирования содержимым %h с помощью оболочки и подключение к нужному порту через netcat. Таким образом, вы можете создавать пресеты для категории хостов, не создавая отдельные записи.

1
27.01.2020, 19:55

Теги

Похожие вопросы