OpenSSH ~ / .ssh / config специфічні для хоста зміни не працюють


17

Я спробував налаштувати свій ~/.ssh/configфайл за допомогою цього посібника. Однак переопределення користувача, що визначає хост, не має ефекту, і ssh намагається з'єднатися за допомогою глобального імені користувача замість конкретного хоста. Мій ssh ​​config налаштований так:

$ cat ~/.ssh/config
User my_global_username

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Я також спробував поставити глобальне ім'я користувача під Host *запис безрезультатно. Версія OpenSSH і збірка, яку я виконую - це OpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013 `.

Відповіді:


30

В Росії немає "глобального" значення .ssh/config. Якщо ви хочете мати значення за замовчуванням, ви повинні помістити його в Host *розділ:

Host dev1
    HostName 10.40.10.41
    User my_username_on_dev_machines

Host *
    User my_global_username

Зверніть увагу на порядок: перший матч виграє!


2
Кілька наступних питань: 1) Чи змінилася поведінка останнім часом? Посібник на пов’язаному веб-сайті чітко відображається Host *вгорі.
Андін

2) Перший матч виграє, але, мабуть, лише для тих значень, які він прямо встановлює. Це десь задокументовано? Man ssh_config не відображає нічого, пов’язаного в розділах Host або PATTERNS.
Андін

6
Перше речення у другому абзаці в ssh_config (5) говорить: "Для кожного параметра буде використано перше отримане значення." Не знаю, чи змінилося це нещодавно, але я постійно мав "Хост *" внизу.
cran
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.