Corriendo $ sudo brew install openssh
con éxito, renombrando los ejecutables /usr/bin/ssh* incorporados y ejecutando $ ssh-keygen -t ed25519
no es suficiente para utilizar su clave ed25519 con el nuevo ssh
versión.
Desactivar Mac OS X ssh-agent
Sus inicios de sesión ssh seguirán utilizando sólo la clave rsa porque la nueva clave ed25519 no es conocida (para ssh-agent
). ssh-add ~/.ssh/id_ed25519
volverá:
No se ha podido añadir la identidad xxx: el agente ha rechazado la operación
porque Mavericks ejecutará la versión antigua de ssh-agent o no lo hará. Mejor desactivar el lanzamiento de la incorporada ssh-agente utilizando: $ launchctl unload -w /System/Library/LaunchAgents/org.openbsd.ssh-agent.plist
. Consulte con ps -ef
que no se está ejecutando ningún agente ssh, de lo contrario kill
ese pid.
Iniciar una nueva versión ssh-agent
automáticamente
Ahora es el momento de aprender el shell de terminal de OS X para iniciar el nuevo ssh-agent
automáticamente, una vez. Si utiliza zsh como shell, ejecute $ nano .zshrc
y añadir esto:
# 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
Basado en el código de: Iniciar automáticamente ssh-agent en Mac OS X
Ahora sus nuevas sesiones de terminal abiertas utilizarán las antiguas claves rsa y las nuevas ed25519.
Verificar ssh-agent
llaves
Las huellas dactilares de las claves que se cargan en ssh-agent se pueden listar con $ ssh-add -l
. El orden de visualización es importante aquí. Las teclas se prueban en el orden de la lista de arriba a abajo. Este es también el orden en el que se importaron las claves. El código fuente actual de openssh tiene esta prioridad de importación de claves para key-add :
- RSA
- DSA
- ECDSA
- ED25519
- XMSS
Prefiero ED25519 a RSA
En caso de que desee preferir la criptografía Ed25519 a la RSA cuando ambas estén disponibles, deberá anular el orden de carga de las claves.
Por lo tanto, cambiar el ssh-add -qk
en el código anterior a algo como:
ssh-add -qk ~/.ssh/id_ed25519
ssh-add -qk ~/.ssh/id_rsa