Auf meinem Macbook Pro mit Sierra (10.12.4) scheint es zwei verschiedene SSH-Client-Versionen zu geben. Wenn ich folgendes mache:
$> ssh dev
Es funktioniert gut. Wenn ich jedoch Folgendes tue:
$> open ssh://dev
Es öffnet sich ein neues Terminal, das sich dann über die Verschlüsselungseinstellungen in meiner ssh_config
Datei beschwert . Bei der Untersuchung der spezifischen Beschwerden stellte ich fest, dass beim Öffnen über den Protokollhandler eine ältere Version von SSH verwendet wird.
Wie ändere ich, zu welchem SSH-Client das Protokoll umleitet?
/usr/local/bin/ssh
Der SSH-Prozess beendet sich selbst, nachdem er die zweite Methode durchlaufen hat. Ich bin mir nicht sicher, wie ich ihn am Leben erhalten würde, um ihn in der Prozessliste zu sehen.Antworten:
Sie können ein Tool verwenden, mit dem Sie die Standard-App für bestimmte URL-Handler sehr bequem ändern können.
Ändern Sie das SSH-URL-Schema mit RCDefaultApp
Es wird diesem Screenshot sehr ähnlich sehen:
quelle
Um Ihre Frage zum Ändern des ssh: // Protokollclients zu beantworten,
Unter /superuser//a/548122/202319 können Sie Änderungen vornehmen
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
, um jede App mit einer registrierten Kennung zu öffnen, wenn ssh: // oder eine andere URL gefunden wird.Dies ist keine perfekte Lösung, da noch ein App-Bundle erforderlich ist oder Terminal.app verwendet wird (was Sie bereits sehen).
Sie sollten jedoch in der Lage sein, Ihre .login- oder .bashrc-Dateien zu reparieren, damit die Standard-Terminal.app-Shell ohnehin Ihre bevorzugte verwendet
ssh
.quelle
.login
und.bashrc
Konfigurationsänderungen näher erläutern ? Das Problem ist nicht, welche Terminal-App geöffnet wird, sondern welche SSH-Binärdatei ausgeführt wird. Wenn Siessh
innerhalb einer Terminalsitzung anrufen, wird eine Binärdatei aufgerufen. Wenn das Terminal jedoch die Verbindung über das Protokoll öffnet, wird eine andere SSH-Binärdatei aufgerufen.Ich habe momentan keinen Mac zum Überprüfen, aber meine Vermutung ist:
Mac kommt mit ssh client / usr / bin / ssh
Sie haben eine neuere Version unter / usr / local / bin / ssh installiert
Sie können versuchen, / usr / bin / ssh zu entfernen oder die Reihenfolge von $ Path neu zu ordnen, damit zuerst / usr / local / bin / ssh ausgewählt wird
quelle
csrutil disable