4 votos

¿Cómo puedo utilizar mi certificado YubiKey como claves privadas/públicas SSH en MacOS?

La YubiKey proporciona autenticación con PIV. Cómo puedo utilizar mi certificado de tarjeta inteligente YubiKey para conectarme de forma segura a otros hosts con SSH utilizando el método de clave pública?

6voto

sleif Puntos 51

Para ello necesitas el Yubikey libykcs11 lo que te permite usarlo como clave privada de ssh y si quieres cargarlo en ssh-agent.

prerrequisitos: Homebrew, xcode

  • instalar xcode como requisito previo para Homebrew

    xcode-select --install

  • activar Homebrew https://brew.sh

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  • ampliar el perfil de acuerdo con el resultado de la instalación de Homebrew; lo siguiente es válido en los MacOS basados en ARM; en los Macs de Intel el directorio base de Homebrew es /usr/local

    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"

  • instalar la biblioteca PIV de Yubikey https://github.com/Yubico/yubico-piv-tool/issues/118

    brew install yubico-piv-tool

  • Ahora coloque la libra requerida en /usr/local/lib para hacerla utilizable para openssh. Es necesario que copia la lib. Por razones de seguridad, un enlace simbólico no funcionará en MacOS (recuerde buscar la librería en /usr/local en un MacOS basado en Intel).

    sudo mkdir -p /usr/local/lib sudo cp /opt/homebrew/lib/libykcs11.dylib /usr/local/lib/libykcs11_NOTALINK.dylib

usando tu llave con openssh

Para utilizar la clave privada de tu tarjeta inteligente necesitas hacer referencia a la biblioteca anterior a los comandos de openssh.

  • simplemente conéctate con el comando ssh:

    ssh -I /usr/local/lib/libykcs11_NOTALINK.dylib user@hostname

  • extraer la clave pública de la tarjeta inteligente para poder utilizarla en archivos .ssh/authorized_keys o aplicaciones como git

    ssh-keygen -D /usr/local/lib/libykcs11_NOTALINK.dylib -e

  • cargar la clave privada de la tarjeta inteligente en ssh-agent

    ssh-add -s /usr/local/lib/libykcs11_NOTALINK.dylib

  • eliminar la clave privada de la tarjeta inteligente de ssh-agent

    ssh-add -d /usr/local/lib/libykcs11_NOTALINK.dylib

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X