Почему правила не объединяются в ssh файле конфигурации?

/ полномочия присоединили к нему?

Конечно. Это - каталог, как любой другой.

каковы они

Две совсем других системы здесь показывают 755, но я не вижу оснований, это не могло быть что-то еще для другой системы.

Владелец почти наверняка собирается быть root, но группа, вероятно, будет варьироваться между различными системными типами. Одной моей является группа root, и другой группа wheel.

какую команду Вы выполняете для обнаружения?

$ ls -ld /

12
20.02.2014, 03:35
3 ответа

Из справочника ssh_config man page:

 $bash>alias p="cd ~/Projects/"
 $bash>p 

Для каждого параметра будет использовано первое полученное значение. Конфигурация файлы содержат разделы, разделенные спецификациями "Хост", и этот раздел является применяется только к тем хостам, которые соответствуют одному из шаблонов, указанных в спецификация. Соответствующее имя хоста - это имя, указанное в командной строке.

$bash>cd /home/USERNAME/Projects/

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

Кроме того, я бы удостоверился, что понимаю эти 2 секции, если вы не понимаете, как работают Хост и ДАТЧИКИ. Происходит только 1 уровень совпадения. Это средство очень простое в своих регексуальных возможностях, но все еще мощное после того, как вы начнете его использовать.

Host sections

PATTERNS

Layering rulesПроблема с вашим подходом заключается в том, что шаблон, совпадающий с 1-ой секцией Host, не совпадает со 2-ой. Обычно я делаю что-то вроде этого:

  • Одна вещь, которую люди обычно не понимают в этих правилах, это то, что они могут повторить. Так что я часто делаю несколько разделов и разбиваю их, используя Host *'s.

9
27.01.2020, 19:55

Из man-страницы

Для каждого параметра будет использовано первое полученное значение. конфигурационные файлы содержат разделы, разделенные символом ''Хост''. спецификации, и этот раздел применяется только к тем хостам, которые соответствуют один из шаблонов, указанных в спецификации. Соответствующее имя хоста это тот, который указан в командной строке.

Так как используется первое полученное значение для каждого параметра, то больше Заявления, касающиеся принимающей стороны, должны быть даны в начале файл, и общие настройки по умолчанию в конце.

Попробуйте переключить порядок следования ваших записей.

1
27.01.2020, 19:55

SSH применяет все разделы, которые соответствуют имени хоста, как указано в командной строке (т. Е. Правила HostName , с которыми он сталкивается, не влияют на последующие проверки условий). Если CanonicalizeHostname включен, он повторно применит файлы конфигурации по завершении, используя обновленное имя хоста. (Некоторые версии SSH сделали это независимо от CanonicalizeHostname , и ваш пример будет работать с этими версиями; но разработчики SSH считают это ошибкой. См. # 2267 .)

Что означает вы можете использовать CanonicalizeHostname , чтобы ваш пример заработал, добавив

Host *
  CanonicalizeHostname yes
  CanonicalizeFallbackLocal no

, который не будет выполнять канонизацию, но позволит выполнить второй проход с обновленным именем хоста. (Обратите внимание, что он по-прежнему не сделает синтаксический анализ конфигурации «рекурсивным», просто повторите его один раз. Так что, если вы измените имя хоста дважды, это не сработает.)

5
27.01.2020, 19:55

Теги

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