GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar clave pública al archivo unknown_hosts

Así es como lo hice.

  1. Generar una clave en el servidor host. Usando el siguiente comando.

*ssh-keyscan -t rsa nombre-servidor-completo

  1. Ahora copie la sección resaltada (en la imagen) y agregue esta clave al archivo 'known_host' en el servidor de origen. Por supuesto, la ubicación de este archivo podría ser diferente para diferentes entornos.

Respondí una respuesta casi similar en SuperUser hace unos días. Las partes importantes:

  • El formato es diferente
  • Hay diferentes claves de host (tipos) en cada servidor (asegúrese de pegar la que realmente se usa)
  • Hay ssh-keyscan que puede crear el formato para usted

De lo contrario, simplemente prefije su clave con la dirección IP del servidor (puede agregar también el nombre de host, después de la coma), elimine el comentario del final de la línea y estará bien. El formato se verá así:

11.22.33.44 ssh-rsa AADGD...

Y una nota más, si usa HashKnownHosts yes (Debian y Ubuntu lo hacen), necesita volver a codificar su known_hosts tales como:

ssh-keygen -Hf ~/.ssh/known_hosts

Después de toparme con este problema, así es como lo abordé:

Con el tiempo, copiando los archivos mecánicamente a través de

ssh-keyscan server-name >> ~/.ssh/known_hosts

me dio entradas duplicadas en .ssh/known_hosts.

Otros métodos manuales me requerían crear el .ssh el directorio aún no existía, etc.

Decidí dejar que ssh manejarlo:

ssh -o StrictHostKeyChecking=no server-name ls

Los -o StrictHostKeyChecking=no opción responde automáticamente 'sí' a la

The authenticity of host 'server-name (12.345.678.900)' can't be established.
RSA key fingerprint is XXXXXXX.
Are you sure you want to continue connecting (yes/no)?

mensaje (inserte aquí todas las advertencias de seguridad sobre la conexión aleatoria a máquinas que no conoce).

El ls El comando es solo un comando fluff que se ejecutará y obligará a SSH a desconectarse cuando termine. Puede cambiarlo a cualquier comando de pelusa que desee.

ssh se encargará de crear el .ssh dir (si es necesario), agregando solo una copia de la clave, etc.

Plataforma:macOS 10.14


Linux
  1. Un poco de magia de copia de archivos SSH en la línea de comando

  2. Ssh:¿sigue recibiendo una solicitud de contraseña con Ssh con autenticación de clave pública?

  3. Ssh – ¿Pasar contraseñas a un script?

  4. Ssh:dada una clave Ssh privada, ¿cómo recuperar la clave pública?

  5. ¿Cuál es la diferencia entre las claves autorizadas y el archivo hosts conocidos para SSH?

¿Cómo configurar la autenticación basada en clave Ssh para Github usando el archivo ~/.ssh/config?

Cómo agregar una clave pública SSH al servidor

Cómo agregar una clave SSH para acceder a cPanel SSH

¿Cómo agregar mi clave SSH a Github/Bitbucket?

Cómo agregar una clave SSH a VS Code y conectarse a un host

Cómo convertir la clave privada de PuTTY (.ppk) en clave SSH