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 [email protected]
/Users/manfredo/.ssh/config: line 8: Bad configuration option: usekeychain
/Users/manfredo/.ssh/config: terminating, 1 bad configuration options

Was vermisse ich?

Manfredo
quelle
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.

Jakuje
quelle
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
Unnawut
quelle
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.

canering
quelle
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