Wydaje się, że na moim Macbooku Pro z Sierra (10.12.4) są dwie różne wersje klienta SSH. Jeśli wykonam następujące czynności:
$> ssh dev
Działa dobrze. Jeśli jednak wykonam następujące czynności:
$> open ssh://dev
Otwiera nowy terminal, który następnie skarży się na ustawienia szyfrowania w moim ssh_config
pliku. Badając konkretne skargi, dowiedziałem się, że otwieranie przez moduł obsługi protokołu używa starszej wersji SSH.
Jak zmienić klienta SSH, do którego przekierowuje protokół?
/usr/local/bin/ssh
proces SSH zabija się po uruchomieniu go za pomocą drugiej metody, nie jestem pewien, jak utrzymałbym go przy życiu, aby zobaczyć go na liście procesów.Odpowiedzi:
Możesz użyć narzędzia, które jest bardzo wygodne, aby zmienić domyślną aplikację dla określonych programów obsługi adresów URL.
Zmień schemat adresu URL ssh za pomocą RCDefaultApp
Będzie wyglądał bardzo podobnie do tego zrzutu ekranu:
źródło
Aby odpowiedzieć na pytanie dotyczące zmiany klienta protokołu ssh: //,
Na https://superuser.com/a/548122/202319 możesz zmodyfikować,
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
aby otworzyć dowolną aplikację z zarejestrowanym identyfikatorem, gdy napotkasz ssh: // lub inny adres URL.To nie jest idealne rozwiązanie, ponieważ wciąż wymaga pakietu aplikacji lub będzie korzystało z Terminal.app (co już widać).
Ale powinieneś być w stanie naprawić swoje pliki .login lub .bashrc, aby domyślna powłoka Terminal.app i tak użyła preferowanego pliku
ssh
.źródło
.login
i.bashrc
zmiany konfiguracji? Problemem nie jest to, która aplikacja terminalowa jest otwierana, ale który plik binarny SSH jest wykonywany. Wywołaniessh
w sesji terminala wywołuje jeden plik binarny, ale jeśli terminal otwiera połączenie za pośrednictwem protokołu, wywołuje inny plik binarny SSH.Nie mam teraz komputera Mac do sprawdzenia, ale zgaduję, że:
Mac jest dostarczany z klientem ssh / usr / bin / ssh
Zainstalowałeś nowszą wersję na / usr / local / bin / ssh
Możesz spróbować usunąć / usr / bin / ssh lub zmienić kolejność w $ Path, aby najpierw wybrać / usr / local / bin / ssh
źródło
csrutil disable