¿Hay alguna manera de saber si mi par de claves es un par de claves OpenSSH?

¿Hay alguna manera de saber si mi par de claves es un par de claves OpenSSH?

Nuestro servicio Oracle está migrando servidores a Oracle Cloud. Necesitamos cambiar el host para nuestro acceso SFTP. "La autenticación a través de su nombre de inicio de sesión SCP y claves SSH2 sigue siendo la misma si su clave SSH2 actual es una clave OpenSSH".

Podemos conectarnos al nuevo host aunque la migración no se ha producido. Quiero confirmar que mi par de claves tiene formato OpenSSH. ¿Hay alguna forma de hacer esto?

Respuesta1

Suponiendo que la pregunta es sobre el archivo de clave privada: si puedeúsalocon OpenSSH sshy sftpclientes, entonces es "una clave OpenSSH"; el servidor realmente no puede notar la diferencia.

El formato sólo importa cuandoinstalandola clave pública en el servidor (es decir, al agregarla a OpenSSH authorized_keyso similar), pero según el mensaje citado parece que eso ya se ha hecho anteriormente (es decir, las claves existentes se transfieren), por lo que probablemente no sea una preocupación aquí.

No hay mucha estandarización entre las claves.archivoformatos utilizados para SSH2; sin embargo, todos ellos sólo difieren en su "empaquetado": los datos reales almacenados en ellos son los mismos, por lo que exactamente la misma clave se puede convertir libremente entre, por ejemplo, los formatos OpenSSH y PuTTY y PKCS#8 y SSH.COM.

En particular, un servidor no tiene forma de saber si tiene una "clave OpenSSH" de su lado. Qué envían los clientes SSH a través de la redessiempre se envía en formato estándar (y sólo se envía la clave pública); el cliente SSH carga cualquier formato de archivo de clave que utilice y produce automáticamente el formato de red correcto para enviarlo al servidor durante la autenticación.

La mayoría de los formatos de claves utilizados por el software SSH están basados ​​en texto, por lo que puedes abrirlos con el Bloc de notas:

  • Una larga fila que comienza con ssh-XXX AAAAxxxxx...: una clave pública OpenSSH.
  • Comienza con -----BEGIN OPENSSH PRIVATE KEY-----: una clave privada OpenSSH (a menudo denominada "nuevo formato" o "formato OpenSSH").
  • Comienza con -----BEGIN PRIVATE KEY-----: una clave privada PKCS#8, creada por versiones anteriores de OpenSSH (a menudo llamado "formato PEM" o "formato OpenSSL").
  • Comienza con -----BEGIN ENCRYPTED PRIVATE KEY-----– también PKCS#8 pero con una frase de contraseña.
  • Comienza con -----BEGIN RSA PRIVATE KEY-----: una clave privada PKCS#1, similar a la PKCS#8 pero más antigua. (Nuevamente a menudo se le llama "formato PEM" y proviene de OpenSSL).
  • Comienza con PuTTY-User-Key-File-2: una clave privada PuTTY.
  • Comienza con ---- END SSH2 PUBLIC KEY ----: una clave pública SSH.COM. (Es un producto cliente/servidor SSHv2 comercial al que le gusta afirmar que es "el" SSH).
  • Comienza con ---- BEGIN SSH2 ENCRYPTED PRIVATE KEY ----: una clave privada de SSH.COM.

Casi siempre, se puede utilizar alguna combinación de comandos puttygeno para transformar la clave de un formato a otro.ssh-keygen

información relacionada