Il semble y avoir deux versions différentes du client SSH sur mon Macbook Pro exécutant Sierra (10.12.4). Si je fais ce qui suit:
$> ssh dev
Cela fonctionne très bien. Cependant, si je fais ce qui suit:
$> open ssh://dev
Il ouvre un nouveau terminal qui se plaint alors des paramètres de cryptage dans mon ssh_config
fichier. En recherchant les plaintes spécifiques, j'ai découvert que l'ouverture via le gestionnaire de protocole utilise une ancienne version de SSH.
Comment changer le client SSH vers lequel le protocole est redirigé?
/usr/local/bin/ssh
le processus SSH se tue après l'avoir exécuté à travers la deuxième méthode, je ne sais pas comment je le garderais en vie pour le voir dans la liste des processus.Réponses:
Vous pouvez utiliser un outil très confortable pour modifier l'application par défaut pour des gestionnaires d'URL spécifiques.
Modifier le schéma d'URL ssh avec RCDefaultApp
Cela ressemblera beaucoup à cette capture d'écran:
la source
Pour répondre à votre question sur la modification du client de protocole ssh: //,
Par https://superuser.com/a/548122/202319 , vous pouvez modifier
~/Library/Preferences/com.apple.LaunchServices/com.apple.launchservices.secure.plist
pour ouvrir n'importe quelle application avec un identifiant enregistré lorsque ssh: // ou une autre URL est rencontrée.Ce n'est pas une solution parfaite, car elle nécessite toujours un bundle d'application, ou utilisera Terminal.app (ce que vous voyez déjà).
Mais, vous devriez pouvoir réparer vos fichiers .login ou .bashrc pour que le shell Terminal.app par défaut utilise de
ssh
toute façon votre préféré .la source
.login
et.bashrc
? Le problème n'est pas quelle application de terminal est ouverte, mais plutôt quel binaire SSH est en cours d'exécution. L'appel à l'ssh
intérieur d'une session de terminal appelle un binaire, mais le fait que le terminal ouvre la connexion via le protocole appelle un autre binaire SSH.Je n'ai pas de mac à vérifier en ce moment mais je suppose que:
Mac est livré avec le client ssh / usr / bin / ssh
Vous avez installé une version plus récente sur / usr / local / bin / ssh
Vous pouvez essayer de supprimer / usr / bin / ssh ou réorganiser l'ordre de $ Path pour qu'il choisisse / usr / local / bin / ssh en premier
la source
csrutil disable