Расширить или унаследовать существующие записи в .ssh / config

370
ktorn

У меня есть следующая запись в моем файле .ssh / config:

Host myhost Hostname localhost User me ServerAliveInterval 30 ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889 

Очень просто, это позволяет мне получать доступ myhostизвне своей сети с помощью NAT, отскакивая external-relay.

В большинстве случаев я хочу использовать только SSH myhostбез создания туннелей SSH, но иногда я хочу создавать различные туннели для разных целей.

В настоящее время я просто вручную добавляю -Lзаписи туннеля, когда я ssh к, myhostно становится все труднее запомнить, какие наборы портов мне нужны для каких целей.

Я мог бы просто добавить эти пользовательские команды переадресации портов в качестве псевдонимов, но мне бы очень хотелось, чтобы в моем .ssh/configфайле были отдельные именованные записи, которые в основном создают соединение myhostи добавляют необходимые туннели, но я не хочу дублировать все myhostconfig каждый раз, потому что, если / когда я изменяю external-relay, мне не нужно помнить, чтобы менять его в каждой записи, которая его использовала.

Есть ли способ создать запись, которая наследует эту myhostзапись и просто добавляет необходимые LocalForwardдирективы для этого конкретного случая туннеля?

0

1 ответ на вопрос

1
Tomek

Вы должны быть в состоянии сделать:

Host myhost-* Hostname localhost User me ServerAliveInterval 30 ProxyCommand ssh -q external-relay /usr/bin/nc -w 90 localhost 9889 

с последующим:

Host myhost-1 LocalForward ...  Host myhost-2 RemoteForward ... : 

myhots-1и myhost-2получит настройки из myhost-*(но НЕ МОЖЕТ их переопределить).

Вам определенно следует заглянуть в начало раздела DESCRIPTION (чтобы увидеть, как применяются параметры к соединению) и раздела PATTERNS на странице man ssh_config.

Это работает. Я на самом деле знал о шаблонах и уже использовал подстановочный знак для глобальных опций, но мне не приходило в голову повторно использовать тот же префикс хоста для достижения того, что я хотел здесь. Спасибо! ktorn 5 лет назад 0

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