Кажется, на моем Macbook Pro под управлением Sierra есть две разные версии SSH-клиента (10.12.4). Если я сделаю следующее:
$> ssh dev
Работает просто отлично. Однако, если я сделаю следующее:
$> open ssh://dev
Он открывает новый терминал, который затем жалуется на настройки шифрования в моем ssh_config
файле. Исследуя конкретные жалобы, я обнаружил, что при открытии через обработчик протокола используется более старая версия SSH.
Как мне изменить, на какой SSH-клиент перенаправляет протокол?
/usr/local/bin/ssh
Процесс SSH убивает себя после запуска его через второй метод, я не уверен, как бы сохранить его, чтобы увидеть его в списке процессов.Ответы:
Вы можете использовать инструмент, который очень удобен для изменения приложения по умолчанию для определенных обработчиков URL.
Измените схему URL-адреса ssh с помощью RCDefaultApp
Это будет выглядеть очень похоже на этот скриншот:
источник
Чтобы ответить на ваш вопрос об изменении клиента протокола ssh: //,
В https://superuser.com/a/548122/202319 вы можете изменить,
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
чтобы открыть любое приложение с зарегистрированным идентификатором при обнаружении ssh: // или другого URL.Это не идеальное решение, потому что оно все еще требует комплекта приложений или будет использовать Terminal.app (что вы уже видели).
Но вы должны иметь возможность исправить файлы .login или .bashrc, чтобы оболочка Terminal.app по умолчанию в
ssh
любом случае использовала ваш предпочтительный вариант .источник
.login
и.bashrc
конфигурации? Проблема не в том, какое терминальное приложение открывается, а в том, какой двоичный файл SSH выполняется. Вызовssh
внутри сеанса терминала вызывает один двоичный файл, но если терминал, открывающий соединение по протоколу, вызывает другой двоичный файл SSH.У меня нет Mac, чтобы проверить прямо сейчас, но я думаю:
Mac поставляется с ssh клиентом / usr / bin / ssh
Вы установили более новую версию в / usr / local / bin / ssh
Вы можете попробовать удалить / usr / bin / ssh или изменить порядок $ Path, чтобы он сначала выбрал / usr / local / bin / ssh
источник
csrutil disable