Неправильна конфігурація: неможливо ssh


12

Як описано в багатьох інших публікаціях, після оновлення до MacOS Sierra я змінив файл ssh config так:

Host me
HostName login.hpc.ugent.be
User vscxxxxx
Port 22

Host *
  AddKeysToAgent yes
  UseKeychain yes

І все-таки я отримую таку помилку:

$ssh -Y vscxxxxx@login.hpc.ugent.be
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

Що я пропускаю?


Який вихід ssh -Vі type ssh? Або ви знаєте, чи встановлено SSH за системою за замовчуванням?
Jari Keinänen

OpenSSH_7.3p1, OpenSSL 1.0.2k 26 січня 2017
Manfredo

Відповіді:


10

Просто видаліть UseKeychain yesрядок зі своєї конфігурації. Оновлення порушило існуючу установку, видаливши цю опцію.


Це, мабуть, помилково, якщо припустити, що ми говоримо про наданий системою ssh. Яке оновлення зламало його? Або ти маєш на увазі якесь оновлення, яке не належить Apple, ssh? Я на уточнений MacOs і має UseKeychain yesабо usekeychain yesне даю ніяких помилок.
Jari Keinänen

Це насправді працює. Я насправді не знаю, що змусило її перестати працювати, єдине, що я оновив свої пакети макроконтролю сьогодні.
Манфредо

4

У документації Apple про оновлення OpenSSH в macOS 10.12.2 зазначено, що:

Якщо ви обмінюєтесь своєю конфігурацією ssh із системами, на яких запущені старіші версії OpenSSH, які не розуміють параметр UseKeychain, ви можете вказати параметр IgnoreUnknown, щоб зберегти вашу конфігурацію як новою, так і старою версіями.

Тож хитрість полягає в тому, що у свій конфігураційний файл ssh додайте, IgnoreUnknown UseKeychainяк нижче:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

Якщо вказати /usr/bin/sshдля команд, вона працює. Шлях за замовчуванням у 10.12 ставиться /usr/local/binвгорі, тому будь-яка інша версія sshне працюватиме з цією опцією, оскільки вона специфічна для системи mac.


щоб додати до цього, просто nano ~/.bash_profileпереконайтесь, що /usr/binце раніше, /usr/local/binякщо вони взагалі відсутні у вашій $PATHдекларації, просто додайте обидва з ними в тому порядку. Щось подібне export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATHтоді source ~/.bash_profileце вирішило це для мене
abc123
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.