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

Как по умолчанию перенаправить соединение агента SSH на неквалифицированные имена хостов?

У меня есть несколько локальных доменов в моем порядке поиска resolv.conf. Я бы очень хотел перенаправить агент SSH по умолчанию, когда я подключаюсь к неквалифицированному (без суффикса DNS) имени хоста. Лучшее, что мне удалось придумать, - это что-то вроде следующего в ~ / .ssh / config:

Host *.edu
    ForwardAgent no
Host *.com
    ForwardAgent no
Host *.net
    ForwardAgent no
Host *.org
    ForwardAgent no
Host *
    ForwardAgent yes

Наряду с перечислением известных суффиксов для edu / com / net / org, которые я все еще хочу пересылать, например .srv.example.com.

Для сайта, имеющего соглашение о префиксе именования хостов (например, fc- * для систем Fedora), им соответствует простая запись с подстановочными знаками, но это не работает для общих имен или имен без префикса.

Есть ли лучший способ сделать это, чем приведенный выше уродливый взлом?

Это просто:

Host *.*
   ForwardAgent no

Host *
    ForwardAgent yes

Первая строка в основном соответствует всему, что содержит хотя бы один . и так как первое совпадение считается, более широкая скороговорка в следующей строке никогда не оценивается. Очевидно, вы бы поставили выше всего этого конкретные хосты.