У меня есть несколько локальных доменов в моем порядке поиска 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
Первая строка в основном соответствует всему, что содержит хотя бы один .
и так как первое совпадение считается, более широкая скороговорка в следующей строке никогда не оценивается. Очевидно, вы бы поставили выше всего этого конкретные хосты.