SSH en macOS: claves protegidas con Secure Enclave

Por qué tus claves SSH son el eslabón más débil de tu stack

Una campaña de ingeniería social conocida como Contagious Interview comprometió más de 30.000 dispositivos y afectó a más de 7.000 carteras de criptomonedas entre diciembre de 2025 y julio de 2026, según el aviso conjunto de agencias internacionales que reportó IBTimes. El vector no fue un exploit sofisticado: fueron entrevistas de trabajo falsas con pruebas de código que el candidato ejecutaba en su propia laptop.

Para un founder, la conclusión es incómoda. Tus claves SSH —las que abren producción, el repositorio y los servidores— viven hoy en un archivo en ~/.ssh/, protegido únicamente por permisos de archivo. Cualquier script malicioso que consiga acceso al sistema de archivos las copia y se lleva todo. El autor del análisis que originó esta nota lo describe sin rodeos: por eso migró a devcontainers, y aun así no le pareció suficiente.

Qué es el Secure Enclave y qué cambia para tus claves SSH

El Secure Enclave es un subsistema de seguridad dentro del chip del Mac, aislado del procesador principal. La clave privada se genera adentro y nunca sale: cuando te conectas por SSH, tu Mac le pide al enclave que firme el desafío de autenticación. Si activas Touch ID, apruebas cada operación de firma. La clave privada nunca existe en memoria ni en disco.

¿Y esto cómo se aplica en tu negocio?

Dueños de negocio de Latinoamérica y España usan un agente de IA para ganar más y recuperar su tiempo. El Kit «tu mano derecha con IA» te muestra cómo en un video de 11 minutos, con una ficha para armar el tuyo. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.

👥 Quiero el Kit →

Según el análisis técnico de Evan Pratten, el Secure Enclave Processor es un procesador dedicado que ejecuta operaciones criptográficas fuera de la CPU principal, y la posibilidad de usarlo como clave SSH privada llegó con una actualización de CryptoTokenKit en macOS 26. La fuente original lo sitúa desde macOS Sequoia en adelante.

La diferencia con una clave tradicional es de fondo, no de forma:

Aspecto Clave SSH normal Clave en Secure Enclave
Dónde vive la clave privada ~/.ssh/id_ed25519 (un archivo) Secure Enclave
Qué queda en disco La clave privada real Solo una referencia inútil sin ese Mac
Alta en el servidor Copiar la pública a authorized_keys Igual
Conexión Funciona directo Pide Touch ID y luego funciona

Las cuatro opciones reales (y cuál conviene)

El autor evaluó cuatro caminos antes de decidir:

  • Secure Enclave nativo de macOS: sin apps de terceros, integrado en el sistema operativo.
  • Secretive: aplicación de terceros que guarda las claves en el Secure Enclave, con una interfaz mucho más pulida.
  • YubiKey: llave de seguridad física con soporte FIDO2.
  • 1Password o Bitwarden: guardan las claves en una bóveda cifrada y exponen su propio agente SSH.

La distinción clave es hardware contra software. Bitwarden añadió soporte de claves SSH recientemente, incluso en su plan gratuito, pero sigue siendo una solución de software: las claves están cifradas en reposo y se descifran en memoria al usarlas. Si lo que buscas es que la clave privada sea literalmente imposible de extraer aunque tu Mac esté completamente comprometido, necesitas respaldo de hardware.

Cómo se configura, paso a paso

El flujo es más corto de lo que parece. macOS expone el comando sc_auth (Smart Card Authentication) para gestionar identidades de CryptoTokenKit; pese al nombre, funciona con el Secure Enclave.

  1. Crear la clave: sc_auth create-ctk-identity -l ssh-MacBook -k p-256-ne -t bio. El parámetro -k p-256-ne usa la curva NIST P-256 no exportable, y -t bio exige biometría en cada uso. Te va a pedir Touch ID.
  2. Exportar el handle: ssh-keygen -w /usr/lib/ssh-keychain.dylib -K -N "". Esto no copia la clave privada, solo genera una referencia que le dice a SSH que le pregunte al enclave. Cuando pida PIN, presiona Enter.
  3. Apuntar SSH al proveedor: agrega export SSH_SK_PROVIDER=/usr/lib/ssh-keychain.dylib a tu ~/.zshrc y recarga el shell.
  4. Publicar la clave pública: cat ~/.ssh/id_ecdsa_sk_rk.pub y cópiala a authorized_keys del servidor, o usa ssh-copy-id.
  5. Declararla en ~/.ssh/config: SSH no descubre solo el archivo id_ecdsa_sk_rk, así que hay que agregarlo explícitamente con IdentityFile. El orden importa: si quieres que sea la clave por defecto, va primero.

Un dato útil que aporta Nicolas Mattia en su propio tutorial: la curva p-384 no está soportada por OpenSSH, así que p-256-ne es la única opción práctica.

Los tres tropiezos que vas a encontrar

El autor documentó los errores reales que aparecieron en el camino, y son los mismos que verás tú.

Error de Touch ID al crear la clave. El comando devuelve Failed to generate keypair con código -25293. La causa suele ser que el enrolamiento de huella se reseteó: basta con volver a registrar la huella en Ajustes del Sistema y repetir.

Guías desactualizadas por todos lados. Si buscas cómo hacerlo, vas a encontrar decenas de tutoriales que recomiendan ssh-add -K. Está deprecado, y además las banderas nuevas del keychain de Apple no funcionan con claves del Secure Enclave porque apuntan al llavero tradicional, no a CryptoTokenKit. La variable SSH_SK_PROVIDER es el camino correcto.

SSH ignora tu clave nueva. Tras configurar todo, la conexión pide contraseña. El log de ssh -vvv muestra que solo ofrece la clave RSA vieja. La solución es declarar el IdentityFile en ~/.ssh/config. Ojo también con el agente SSH de 1Password: su IdentityAgent puede entrar en conflicto y hay que comentarlo mientras pruebas.

El detalle que casi nadie menciona: no hay backup

Las claves del Secure Enclave están atadas a ese Mac específico. Si el equipo muere, las claves mueren con él. Es por diseño: si no se puede exportar, tampoco se puede respaldar.

La recomendación del autor es directa: usa más de una clave. Registra en authorized_keys de tus servidores tanto la clave del Secure Enclave como una de respaldo (de un YubiKey o de otro Mac). Si pierdes un dispositivo, sigues entrando por el otro. Y si vas a elegir un solo modo de protección, elige -t bio para todo: sin biometría, un malware podría usar tu clave en silencio; con biometría, siempre sabes cuándo alguien la está usando.

¿Qué significa esto para tu startup?

El caso de Binance que reportó CryptoBriefing muestra el patrón completo: un empleado comprometido mediante un falso proceso de contratación, con la brecha rastreada hasta la laptop de un ingeniero de DevOps que daba acceso a un contenedor de retiros. La lección para cualquier equipo, no solo cripto, es que el gasto en seguridad suele concentrarse en infraestructura —cold storage, multifirma, código auditado— mientras el atacante entra por la laptop de una persona de confianza.

Tres acciones concretas para implementar esta semana:

  • Migra tus claves de producción a respaldo de hardware. Secure Enclave si trabajas en Mac, YubiKey si necesitas portabilidad entre equipos. El objetivo es que la clave privada no exista como archivo en ningún disco.
  • Corre todo código de reclutadores desconocidos en un entorno aislado. Contenedor de desarrollo, máquina virtual o un equipo sin credenciales. Nunca en la máquina donde tienes tus claves SSH y tus tokens de nube.
  • Registra dos claves por servidor. Una del Secure Enclave y una de respaldo en un dispositivo distinto. Es la única mitigación real contra la pérdida del Mac.

Conclusión

El Secure Enclave nativo funciona y es claramente mejor que dejar tus claves en el disco, pero el propio autor decidió no quedarse con él: la interfaz de Touch ID muestra un mensaje técnico poco amigable y el flujo tiene asperezas de usabilidad. Su plan es migrar a Secretive, que usa el mismo hardware por debajo con una experiencia mucho más cuidada.

Para un equipo pequeño, la decisión práctica no es cuál herramienta es más elegante, sino cuánto tarda un atacante en copiar tus claves hoy. Si la respuesta es un comando, tienes trabajo pendiente.

Fuentes

¿te gustó o sirvió lo que leíste?, Por favor, comparte.

¿Y esto cómo se aplica en tu negocio?

Dueños de negocio de Latinoamérica y España usan un agente de IA para ganar más y recuperar su tiempo. El Kit «tu mano derecha con IA» te muestra cómo en un video de 11 minutos, con una ficha para armar el tuyo. CAR está cerrada por ahora; al anotarte, te avisamos cuando abra.

👥 Quiero el Kit →

Daily Shot: Tu ventaja táctica

Lo que pasó en las últimas 24 horas, resumido para que tú no tengas que filtrarlo.

Suscríbete para recibir cada mañana la curaduría definitiva del ecosistema startup e inversionista. Sin ruido ni rodeos, solo la información estratégica que necesitas para avanzar:

  • Venture Capital & Inversiones: Rondas, fondos y movimientos de capital.
  • IA & Tecnología: Tendencias, Web3 y herramientas de automatización.
  • Modelos de Negocio: Actualidad en SaaS, Fintech y Cripto.
  • Propósito: Erradicar el estancamiento informativo dándote claridad desde tu primer café.

📡 El Daily Shot Startupero

Noticias del ecosistema startup en 2 minutos. Gratis, todos los días.

Share to...