Schlechte Konfiguration: kann nicht ssh


12

Wie in vielen anderen Beiträgen beschrieben, habe ich nach dem Upgrade auf MacOS Sierra die ssh-Konfigurationsdatei wie folgt geändert:

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

Host *
  AddKeysToAgent yes
  UseKeychain yes

Trotzdem erhalte ich folgenden Fehler:

$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

Was vermisse ich?


Was ist die Ausgabe von ssh -Vund type ssh? Oder wissen Sie, ob Sie SSH ohne Systemstandard installiert haben?
Jari Keinänen

OpenSSH_7.3p1, OpenSSL 1.0.2k 26. Januar 2017
Manfredo

Antworten:


10

Entfernen Sie einfach die UseKeychain yesLeitung aus Ihrer Konfiguration. Das Update hat das vorhandene Setup durch Entfernen dieser Option beschädigt.


Dies ist wahrscheinlich falsch, vorausgesetzt, wir sprechen von dem vom System bereitgestellten ssh. Welches Update hat es kaputt gemacht? Oder meinst du ein Nicht-Apple-SSH-Update? Ich bin auf dem neuesten MacOS und habe UseKeychain yesoder usekeychain yesgebe keine Fehler.
Jari Keinänen

Das funktioniert tatsächlich. Ich weiß nicht genau, warum es nicht mehr funktioniert. Ich habe nur heute meine Macport-Pakete aktualisiert.
Manfredo

4

In der Apple-Dokumentation zu OpenSSH-Updates in macOS 10.12.2 heißt es:

Wenn Sie Ihre SSH-Konfiguration für Systeme freigeben, auf denen ältere OpenSSH-Versionen ausgeführt werden, die die UseKeychain-Option nicht verstehen, können Sie die Option IgnoreUnknown angeben, damit Ihre Konfiguration sowohl mit neuen als auch mit alten Versionen kompatibel bleibt.

Der Trick ist also, dass Sie in Ihrer SSH-Konfigurationsdatei IgnoreUnknown UseKeychainFolgendes hinzufügen :

Host *
  AddKeysToAgent yes
  IgnoreUnknown UseKeychain
  UseKeychain yes

0

Wenn Sie /usr/bin/sshfür die Befehle angeben , funktioniert es. Der Standardpfad in 10.12 steht /usr/local/binoben, sodass jede andere Version von sshmit dieser Option nicht funktioniert, da sie spezifisch für das Mac-System ist.


nano ~/.bash_profileUm dies zu ergänzen, stellen Sie einfach sicher, dass /usr/bines vorher ist, /usr/local/binwenn sie überhaupt nicht in Ihrer $PATHErklärung enthalten sind. Fügen Sie einfach beide in dieser Reihenfolge hinzu. So etwas wie export PATH="~/bin:/usr/bin:/usr/local/bin/:$PATHdann source ~/.bash_profileaufgelöst dies es für mich
abc123
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.