wenn ich [email protected]
zum Anmelden des entfernten Systems verwende, wird Folgendes angezeigt:
debug1: /etc/ssh/ssh_config line 17: Applying options for *
/etc/ssh/ssh_config: line 20: Bad configuration option: gssapikeyexchange
/etc/ssh/ssh_config: line 21: Bad configuration option: gssapitrustdns
/etc/ssh/ssh_config: terminating, 2 bad configuration options
Kommentieren Sie die folgenden Zeilen in /etc/ssh/ssh_config
Aus
# System-wide defaults set by MIT Kerberos Extras
Host *
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
GSSAPIKeyExchange yes
zu
# System-wide defaults set by MIT Kerberos Extras
#Host *
# GSSAPIAuthentication yes
# GSSAPIDelegateCredentials yes
# GSSAPIKeyExchange yes
Eine Möglichkeit, das Problem zu beheben: Erstellen Sie Ihre eigene Version mit aktivierter Option. Siehe here , wenn Sie eine Option wünschen, die mit noch aktivierten gssapitrustdns funktioniert :)
Eine andere Möglichkeit, diese Frage zu lösen, besteht darin, eine ssh-Binärdatei von einem älteren Mac zu kopieren und diese im Pfad vor/usr/bin/ssh zu platzieren, zB: (aus el capitan-Box kopieren)/usr/bin/ssh => ~/bin/ssh, dann fügen Sie $ HOME/bin zu Ihrem PATH hinzu, bevor Sie etwas anderes machen.
Der Grund ist, dass GSSAPITrustDNS und GSSAPIKeyExchange von openSSH entfernt werden. 6.7p1。Sierra Upgrade von OpenSSH auf 7.2p2. Sie müssen also ein Downgrade durchführen, wenn Sie Kerberos + ssh verwenden müssen.
Einzeilige Antwort - Führen Sie diesen Befehl aus, um die GSSAPITrustDns-Zeile zu entfernen:
sed -i".backup" '/GSSAPITrustDns/d' ~/.ssh/config
Erstellt eine Kopie und Updates: ~/.ssh/config
Sie müssen wahrscheinlich nur GSSAPITrustDns in der ssh config deaktivieren.
vi ~/.ssh/config
:% s/GSSAPITrustDns/# GSSAPITrustDns/g
: wq
Kommentieren Sie auch andere Optionen, wie zB gssapikeyexchange usw.
Wenn Sie weiterhin die Kerberos-Ticketfunktionalität (z. B. ssh ohne Identitätsschlüssel und ohne Kennworteingabe) oder den "hpn openssh patch" (der angeblich die große Dateiübertragung beschleunigt) oder den "keychain patch" verwenden möchten, können Sie ssh installieren das unterstützt sie (was auch das OP-Problem löst):
Es stellte sich heraus, dass Homebrew "früher" eine OpenSsh-Installationsoption namens --with-gssapi-support
unterstützte, die Ihnen ein ssh/scp geben würde, das Kerberos-Tickets unterstützte.
Möglicherweise wurde dies versehentlich mit ihrem update auf Version 6.6p1 von openssh [?] Entfernt. Einige Tickets wurden vorgeschlagen seitdem "hinzugefügt", aber die Betreuer durchliefen ein gewisses Fiasko mit dem "keychain" -Patch, und sie haben beschlossen, ihre OpenSsh-Formel viel mehr als Vanilla zu verwenden Sie lehnten die Vorschläge ab.
Sie schlagen vor, ein "Tippen" zu erstellen, wenn Sie die Patches zurück haben möchten. Ich ging voran und erstellte einen . Um es zu benutzen:
brew install rdp/homebrew-openssh-gssapi/openssh-gssapi-hpn --with-gssapi-support
starten Sie dann Ihre Terminalsitzung neu und Sie sollten sich im Geschäft befinden. Es wird ein neuer Befehl/usr/local/bin/ssh erstellt, der Kerberos-fließend ist, und bei einer typischen Installation von Homebrew sollte dies der erste in Ihrem PATH sein eine, die jetzt standardmäßig verwendet wird. Es gibt auch einige andere Optionen für dieses Tippen (hpn
und keychain-support
)
Eine andere Option ist die Verwendung von ssh-Identitätsschlüsseldateien (Authentifizierung/Autorisierte Schlüssel) anstelle von Kerberos. Sie können dann weiterhin die standardmäßig bereitgestellten ssh-Werte verwenden.
Eine andere Option ist die Verwendung des macports openssh-Pakets, das Unterstützung für ... manchmal eine etwas ältere Version von openssh mit Kerberos-Unterstützung bietet.
Fix für SSH 10.12:
Sudo nano /etc/ssh/ssh_config
Kommentieren Sie mit einem # aus:
Meine Konfiguration /etc/ssh/ssh_config
war in Ordnung und wurde nie geändert. Ich fand in ~/.ssh/config die Zeilen, die ich ändern musste, und löste das Problem.
wenn Sie bekommen:
Die Berechtigungen 0644 für "~/.ssh/id_rsa [Ihre Datei]" sind zu offen
führen Sie: chmod 600 ~/.ssh/id_rsa[your file]
aus, um das Problem zu lösen.
Sie können versuchen, die Datei ~/.ssh/config zu entfernen. Es hat für mich funktioniert!