Zła konfiguracja: nie można ssh

12

Jak opisano w wielu innych postach, po aktualizacji do MacOS Sierra zmodyfikowałem plik konfiguracyjny ssh w następujący sposób:

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

Host *
  AddKeysToAgent yes
  UseKeychain yes

Nadal pojawia się następujący błąd:

$ssh -Y [email protected]
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

czego mi brakuje?

Manfredo
źródło
Jaka jest wydajność ssh -Vi type ssh? A może wiesz, czy masz zainstalowany domyślny system SSH?
Jari Keinänen
OpenSSH_7.3p1, OpenSSL 1.0.2k 26 sty 2017
Manfredo

Odpowiedzi:

10

Wystarczy usunąć UseKeychain yeslinię z konfiguracji. Aktualizacja złamała istniejącą konfigurację, usuwając tę ​​opcję.

Jakuje
źródło
Jest to prawdopodobnie nieprawda, zakładając, że mówimy o ssh dostarczonym przez system. Jaka aktualizacja go zepsuła? Czy masz na myśli jakąś aktualizację ssh firmy innej niż Apple? Jestem na up-to-date MacOS i posiadające UseKeychain yeslub usekeychain yesdać żadnych błędów.
Jari Keinänen
To faktycznie działa. Naprawdę nie wiem, co spowodowało, że przestał działać, jedyne, co dzisiaj zaktualizowałem, to moje pakiety Macport.
Manfredo
4

Dokumentacja Apple na temat aktualizacji OpenSSH w macOS 10.12.2 stwierdza, że:

Jeśli udostępniasz swoją konfigurację ssh systemom ze starszymi wersjami OpenSSH, które nie rozumieją opcji UseKeychain, możesz określić opcję IgnoreUnknown, aby zachować zgodność konfiguracji zarówno z nowymi, jak i starszymi wersjami.

Więc sztuczka polega na tym, że w pliku konfiguracyjnym ssh dodaj IgnoreUnknown UseKeychainjak poniżej:

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes
Unnawut
źródło
0

Jeśli określisz /usr/bin/sshdla poleceń, działa. Domyślna ścieżka w 10.12 znajduje się /usr/local/binna górze, więc żadna inna wersja sshnie będzie działać z tą opcją, ponieważ jest specyficzna dla systemu Mac.

kiwanie
źródło
aby dodać do tego, po prostu nano ~/.bash_profileupewnij się, że /usr/binjest wcześniej, /usr/local/binjeśli w ogóle nie ma ich w $PATHdeklaracji, po prostu dodaj oba z nich w tej kolejności. Coś jak export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATHwtedy source ~/.bash_profileto rozwiązać to dla mnie
abc123