3 votes

Comment mettre à niveau ssh sur OS X 10.9 Mavericks sans mise à niveau du système d'exploitation ?

Le site ssh La version 6.2 de OS X 10.9 (Mavericks) prend en charge dsa et rsa, mais pas les nouvelles clés Ed25519. Ed25519 existe depuis la version 6.5 d'OpenSSH.

Ainsi que l'ancien ssh-agent renvoie des signatures SHA-1 au lieu de SHA-256 pour les connexions RSA, d'où des erreurs telles que

clé de l'agent RSA SHA256 : retour d'un type de signature incorrect

s'affichera lors de la connexion à des hôtes bleeding edge.

Je voudrais me débarrasser de ces messages d'erreur et utiliser l'ED25519, plus rapide et plus sûr.

Comment mettre à niveau SSH sans mettre à niveau Mac OS X ?

1voto

Pro Backup Points 3456

Running $ sudo brew install openssh avec succès, en renommant les exécutables intégrés de /usr/bin/ssh* et en exécutant $ ssh-keygen -t ed25519 n'est pas suffisant pour utiliser votre clé ed25519 avec la nouvelle ssh version.

Désactiver Mac OS X ssh-agent

Vos connexions ssh n'utiliseront toujours que la clé rsa, car la nouvelle clé ed25519 n'est pas connue (de l'utilisateur). ssh-agent ). ssh-add ~/.ssh/id_ed25519 reviendra :

Impossible d'ajouter l'identité xxx : l'agent a refusé l'opération.

car Mavericks fera tourner l'ancienne version de ssh-agent ou pas du tout. Il vaut mieux désactiver le lancement du ssh-agent intégré en utilisant : $ launchctl unload -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist . Vérifier avec ps -ef qu'aucun agent ssh n'est en cours d'exécution, sinon kill ce pid.

Démarrer une nouvelle version ssh-agent automatiquement

Maintenant, il est temps d'apprendre votre shell terminal OS X pour démarrer le plus récent ssh-agent automatiquement, une fois. Lorsque vous utilisez zsh comme shell, exécutez $ nano .zshrc et ajoutez ceci :

# Automatically start ssh-agent once
if [[ "x" == "x`ps -x -u ${USER} | egrep '[s]sh-agent'`" ]] ; then
    ssh-agent | sed -e "/^echo/d" > ${HOME}/.ssh/agent-env
    source ${HOME}/.ssh/agent-env
    ssh-add -qk
else
    source ${HOME}/.ssh/agent-env
fi

Basé sur le code de : Démarrer automatiquement ssh-agent sur Mac OS X

Maintenant, vos sessions de terminal nouvellement ouvertes utiliseront l'ancienne clé rsa et la nouvelle clé ed25519.

Vérifier ssh-agent clés

Les empreintes des clés qui sont chargées dans ssh-agent peuvent être listées avec la commande $ ssh-add -l . L'ordre d'affichage est important ici. Les touches sont essayées dans l'ordre indiqué de haut en bas. Il s'agit également de l'ordre dans lequel les clés ont été importées. Le code source actuel d'openssh a cette priorité d'importation de clé pour key-add :

  1. RSA
  2. ASD
  3. ECDSA
  4. ED25519
  5. XMSS

Préférer ED25519 à RSA

Si vous souhaitez préférer la cryptographie Ed25519 à RSA lorsque les deux sont disponibles, vous devez modifier l'ordre dans lequel les clés sont chargées.

Changez donc le ssh-add -qk dans le code ci-dessus à quelque chose comme :

ssh-add -qk ~/.ssh/id_ed25519
ssh-add -qk ~/.ssh/id_rsa

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X