18

Я хочу иметь подстановочный знак в моей конфигурации SSH, чтобы установить для моего имени пользователя по умолчанию определенное значение для всех хостов в определенном домене. Но я также хочу иметь несколько коротких имен для некоторых конкретных хостов. Я ожидал что-то вроде этого, чтобы работать:

Host *.mydomain.com
    User myusername
Host host1
    Hostname host1.mydomain.com

С этими настройками, если я ssh host1.mydomain.com он оценивается как myusername@host1.mydomain.com , но если я ssh host1 он не применяет мои настройки пользователя, и вместо этого я вижу mylocalusername@host1.mydomain.com .

Можно ли сопоставить символы подстановки в окончательном расширенном имени хоста, чтобы я мог набрать короткую или длинную форму и получить те же результаты?

3 ответа3

12

Вы можете просто установить для CanonicalizeHostname значение yes чтобы обработать ssh_config каноническим именем хоста вашего псевдонима. Например:

CanonicalizeHostname yes
Host *.mydomain.com
    User myusername

Host host1
    HostName host1.mydomain.com

В качестве альтернативы, если вы также хотите переназначить имена хостов, вы можете использовать Match вместо Host чтобы сопоставлять только канонические имена хостов. Например, в:

Match canonical host="*.mydomain.com"
    User myusername

Host host2.mydomain.com
    HostName host2.otherdomain.com

Пользовательская директива не будет установлена при подключении к host2.mydomain.com .

10

Просто используйте:

Host *.mydomain.com host1
User myusername

Host host1
Hostname host1.mydomain.com
  • Альтернативные шаблоны поставляются с пробелом в строке хоста .
  • Все соответствующие шаблоны хостов применяются.
  • Если опция встречается несколько раз, используется только 1-й случай
1

Использование CanonicalDomains также будет работать.

CanonicalizeHostname yes
CanonicalDomains mydomain.com

Host *
User myusername

Если вы хотите иметь краткое имя для конкретного хоста, например:

Host h
Hostname host1

Однако я бы не рекомендовал такое короткое имя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .