- Visión general de Jelina
- JelinaCloud
- Gestión de dispositivos
Autenticación SSH mediante claves y certificados
Completa cuatro pasos: generar claves o certificados → configurar el dispositivo → cargar en la nube → comprobar la conexión.
Preparación: dispositivo activado, Online y con OpenSSH Server en ejecución; un Master o Admin de la flota configura JelinaCloud mediante HTTPS.
Paso 1: generar claves SSH o certificados de usuario OpenSSH
Sección titulada «Paso 1: generar claves SSH o certificados de usuario OpenSSH»El acceso ordinario por clave solo requiere claves de usuario; el acceso por certificado requiere generar primero las claves y después emitir el certificado.
Crea y abre una carpeta vacía en el ordenador, por ejemplo JelinaSSH, y ejecuta lo siguiente en la terminal correspondiente:
Escribe powershell en la barra de direcciones de la carpeta, pulsa Intro y ejecuta:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"Si no se encuentra el comando, instala «Cliente OpenSSH» desde las características opcionales de Windows y vuelve a abrir PowerShell.
Haz clic derecho en un espacio vacío de la carpeta, selecciona «Abrir en terminal» y ejecuta:
ssh-keygen -t ed25519 -a 64 -f jelina_operator -C "JelinaCloud-operator"Si no se encuentra el comando, instala el cliente OpenSSH: openssh-client en Ubuntu o Debian y openssh-clients en Fedora o RHEL.
Cuando aparezca Enter passphrase, establece una frase de contraseña para la clave privada y repítela en Enter same passphrase again. Los caracteres no se muestran. Para no utilizar frase, pulsa Intro dos veces. Si aparece Overwrite (y/n)?, introduce n para conservar los archivos existentes.
Se generarán estos archivos en la carpeta actual:
| Archivo | Función y destino |
|---|---|
jelina_operator, sin extensión |
Clave privada del usuario para iniciar sesión; cárgala en el campo de clave privada de la nube |
jelina_operator.pub |
Clave pública; añádela al dispositivo para acceso ordinario o entrégala a la CA para emitir un certificado |
Si el dispositivo requiere RSA
Utiliza este comando, válido en Windows y Linux:
ssh-keygen -t rsa -b 3072 -a 64 -f jelina_operator_rsa -C "JelinaCloud-operator"Genera jelina_operator_rsa y jelina_operator_rsa.pub. Utiliza esos nombres en los pasos siguientes.
Entrega jelina_operator.pub al administrador de una CA existente. Si realizas la emisión tú mismo, coloca la clave pública en la carpeta actual del ordenador de administración y ejecuta los comandos en orden.
- Genera las claves de la CA y establece y confirma la frase de contraseña. Omite este paso si ya existe una CA y utiliza sus archivos reales después.
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- Emite el certificado de usuario e introduce la frase de la clave privada de la CA cuando se solicite:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pub- Genera las claves de la CA y establece y confirma la frase de contraseña. Omite este paso si ya existe una CA y utiliza sus archivos reales después.
ssh-keygen -t ed25519 -a 64 -f ca_ed25519 -C "JelinaCloud-customer-CA"- Emite el certificado de usuario e introduce la frase de la clave privada de la CA cuando se solicite:
ssh-keygen -s ca_ed25519 -I operator-access-001 -z 1 -n ops-alice -V "-1m:+8h" jelina_operator.pubSigned user key indica que la emisión terminó. Los archivos son:
| Archivo | Función y destino |
|---|---|
ca_ed25519 |
Clave privada de la CA para emitir certificados; solo la conserva el emisor y no se carga en la nube ni en el dispositivo |
ca_ed25519.pub |
Clave pública que permite al dispositivo confiar en la CA; añade su contenido en el paso 2 |
jelina_operator-cert.pub |
Certificado de usuario; cárgalo en la nube junto con la clave privada del usuario |
En este ejemplo, la entidad principal es ops-alice y el certificado caduca ocho horas después de emitirse. Puedes cambiar -V "-1m:+8h" por otro plazo limitado, como -V "-1m:+7d". El emisor asigna y registra el número de serie -z 1. Consulta el certificado con:
ssh-keygen -L -f jelina_operator-cert.pubPaso 2: configurar el dispositivo
Sección titulada «Paso 2: configurar el dispositivo»En el dispositivo JelinaOS Linux, edita authorized_keys de la cuenta real de acceso. El ejemplo utiliza operator; sustitúyela por una cuenta existente:
| Cuenta | Archivo de autorización |
|---|---|
operator, con directorio personal /home/operator |
/home/operator/.ssh/authorized_keys |
root |
/root/.ssh/authorized_keys |
Crea el archivo si no existe. El directorio .ssh debe tener permisos 700, el archivo 600 y ambos deben pertenecer a la cuenta de destino. Conserva el contenido y añade la autorización en una nueva línea al final. No necesitas copiar el certificado al dispositivo.
Abre jelina_operator.pub en el ordenador con un editor de texto, copia la línea completa y pégala al final del archivo de autorización:
ssh-ed25519 <用户公钥Base64> JelinaCloud-operatorUtiliza el contenido real, no el marcador de posición. Las claves RSA comienzan por ssh-rsa; copia igualmente la línea completa.
Abre ca_ed25519.pub y copia la línea completa. Al final del archivo de autorización, escribe el siguiente prefijo, añade un espacio y pega la clave pública de la CA:
cert-authority,principals="ops-alice",no-agent-forwardingEl resultado debe quedar en una sola línea:
cert-authority,principals="ops-alice",no-agent-forwarding ssh-ed25519 <clave-pública-CA-Base64> JelinaCloud-customer-CASustituye el marcador por el contenido real de la clave pública de la CA. ops-alice debe coincidir con -n al emitir el certificado. En el dispositivo se añade la clave pública de la CA con el prefijo de autorización; el certificado y la clave privada del usuario se cargan en la nube en el siguiente paso.
En Windows puedes hacer clic derecho en el archivo y elegir «Abrir con → Bloc de notas». Modificar solo authorized_keys normalmente no requiere reiniciar SSH. Si utilizas rutas personalizadas, sigue la configuración del dispositivo.
Paso 3: configurar JelinaCloud y cargar credenciales
Sección titulada «Paso 3: configurar JelinaCloud y cargar credenciales»Cargar credenciales
Sección titulada «Cargar credenciales»- Abre «Acceso remoto → Claves» de la flota o «Acceso remoto» del dispositivo y pulsa «Añadir credencial SSH».
- Introduce nombre y cuenta del sistema del dispositivo, como
operatororoot, selecciona el método y carga los archivos:
| Método | Archivos |
|---|---|
| Clave SSH | Campo de clave privada: jelina_operator |
| Certificado de usuario OpenSSH | Clave privada: jelina_operator; certificado: jelina_operator-cert.pub |
- Si la clave está protegida, introduce la frase de contraseña de la clave privada del usuario, configura miembros autorizados y valor predeterminado y guarda.
Guarda credenciales compartidas en la flota y específicas en el dispositivo. No cargues la clave privada de la CA. Después de guardar, confirma la identidad del host.
Confirmar la identidad del host
Sección titulada «Confirmar la identidad del host»La clave pública del host identifica al dispositivo de destino y es distinta de las claves del usuario y de la CA. Consulta las claves existentes en el dispositivo:
cat /etc/ssh/ssh_host_*_key.pubRegístralas línea por línea en «Acceso remoto → Identidad del host», compara la huella completa SHA256: y pulsa «Verificar y confirmar» si coincide. Si hay varios algoritmos admitidos, regístralos y compruébalos por separado.
Consultar las huellas de las claves del host
Ejecuta localmente o por un canal confiable los comandos correspondientes a los archivos existentes; omite los que no existan:
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_ecdsa_key.pub -E sha256ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub -E sha256Después de reinstalar el dispositivo o cambiar las claves del host, vuelve a verificar las huellas.
Paso 4: seleccionar credenciales y comprobar el acceso
Sección titulada «Paso 4: seleccionar credenciales y comprobar el acceso»- Abre el resumen del dispositivo → «Escritorio remoto», selecciona SSH e introduce la cuenta del sistema.
- Selecciona «Clave SSH» o «Certificado de usuario OpenSSH» y la credencial guardada.
- Revisa los límites de inactividad y duración y pulsa «Conectar». No es necesario volver a cargar archivos ni introducir la frase de la clave privada.
- Cuando aparezca la terminal, ejecuta lo siguiente y comprueba que devuelve la cuenta esperada:
whoamiPara la misma cuenta y método, las credenciales del dispositivo tienen prioridad. Solo se utilizan las de la flota si no existe configuración del dispositivo. No hay sustitución automática si las credenciales caducan, se desactivan, se revocan o no están autorizadas.
Cuando caduque el certificado, solicita otro y utiliza «Actualizar clave/certificado» en la administración de claves. La plataforma no renueva automáticamente ni modifica las autorizaciones del dispositivo.
Formatos admitidos y problemas frecuentes
- Las claves de usuario y de CA admiten Ed25519 y RSA de 2048 a 8192 bits. Las claves privadas de usuario deben utilizar OpenSSH-v1; cada clave privada o certificado puede ocupar como máximo 64 KiB.
- Los certificados requieren vigencia explícita y entidades principales no vacías. Se admiten firmas Ed25519 y RSA SHA-256 / SHA-512; no se aceptan SHA-1, critical options, claves de usuario ECDSA, X.509 ni certificados de host SSH.
- Las claves de host admiten Ed25519, ECDSA nistp256/384/521 y RSA de 2048 a 8192 bits. RDP y VNC siguen utilizando contraseña.
| Problema | Comprobación |
|---|---|
| No hay credenciales disponibles | Cuenta, método, permisos de uso y sobrescritura del dispositivo |
| Clave o frase incorrecta | Clave privada correspondiente y su frase; no utilices la clave privada de la CA |
| El dispositivo rechaza el certificado | Prefijo de autorización de CA, entidad principal, vigencia, hora del dispositivo y restricciones de la cuenta SSH |
| Identidad del host sin confirmar o modificada | Verifica de nuevo la clave del host correspondiente al algoritmo negociado |
| Desconexión automática | Límites de inactividad y duración, vigencia del certificado y estado del dispositivo |
Consulta más detalles en Administración del acceso remoto.