Cómo usar ssh-keyscan en ubuntu

Cómo usar ssh-keyscan en ubuntu
ssh-keyscan es una herramienta muy útil para recopilar las claves públicas disponibles de múltiples números de hosts. El objetivo principal de esta herramienta es verificar el conocido_hosts archivos. Esta herramienta utiliza la E/S de socket sin bloqueo para conectarse con el número máximo de hosts en paralelo. La información clave del gran número de hosts puede ser la recopilación rápidamente utilizando esta herramienta donde algunos de ellos pueden estar abajo o no usar SSH. ssh-keyscan no requiere inicio de sesión en las máquinas desde las cuales se escaneará la llave.

Sintaxis:

La sintaxis del ssh-keyscan ha dado a continuación. Admite múltiples opciones para escanear las teclas.

ssh-keyscan [-46chv] [-f archivo] [-p puerto] [-t timeout] [-t type] [host | adrlist namelist] ..

La opción diferente de SSH-Keysan:

Los propósitos de usar diferentes opciones de SSH-Keyscan se describen a continuación.

Opción Objetivo
-4 Se utiliza para forzar SSH-KeyScan para usar direcciones IPv4 solamente.
-6 Se utiliza para forzar SSH-Keyscan para usar direcciones IPv6 solamente.
-C Se utiliza para solicitar certificados de los hosts de destino.
-File F Se usa para recuperar los hosts o los pares de "Namelist" AddrList "desde el archivo.
-H Se utiliza para hash todos los nombres y direcciones de host en la salida.
-puerto P Se usa para conectar el host remoto con un puerto en particular.
-T Tiempo de espera Se usa para establecer el tiempo de espera para los intentos de conexión. El valor de tiempo de espera predeterminado 5.
-tipo t Se usa para definir el tipo de clave que se recuperará de los anfitriones escaneados. Los valores de tipo pueden ser RSA, DSA, ECDSA, etc.
-V Se usa para imprimir mensajes de depuración sobre el progreso del escaneo.

Las opciones más utilizadas del comando ssh-keyscan se han mostrado en la siguiente parte de este tutorial.

Prerrequisitos:

Antes de comenzar la siguiente parte de este tutorial, debe crear uno o más pares de teclas SSH para probar los comandos utilizados en este tutorial. Complete los siguientes pasos antes de ejecutar cualquier comando ssh-keyscan.

  1. Habilite el servicio SSH en Ubuntu si no está habilitado antes. Dos cuentas de usuarios locales de Ubuntu se han utilizado aquí como una máquina cliente y una máquina de servidor.
  2. Genere los múltiples pares de claves SSH en la máquina del servidor utilizando el ssh-keygen comando que crea la clave pública y la clave privada. Las claves privadas se almacenan en el servidor remoto, y las claves públicas se almacenan en el cliente de forma segura.
  3. A continuación, agregue las claves públicas a la máquina del cliente.

Ejecute ssh-keyscan de diferentes maneras para escanear las teclas:

Debe iniciar sesión en la máquina del cliente para verificar los comandos SSH-Keyscan utilizados en este tutorial. Al principio, ejecute lo siguiente ssh-keyscan comando sin ninguna opción para leer todas las claves públicas de la dirección IP 10.0.2.15. La salida del comando puede variar según la dirección IP o el nombre de host utilizado en el comando. Dado que no se ha definido ningún tipo de tecla en el comando, recuperará todas las teclas encontradas durante el escaneo.

$ ssh-keyscan 10.0.2.10

La salida muestra que las diferentes claves son escaneadas por el comando anterior, como RSA, ECDSA y ED25519.

Ejecutar lo siguiente ssh-keyscan Comando con la opción -p para leer todas las claves públicas de la dirección IP 10.0.2.15 en el puerto número 22. Al igual que el comando anterior, la salida del comando puede variar según la dirección IP o el nombre de host utilizado en el comando.

$ ssh -keyscan -p 22 10.0.2.15

La salida muestra las diferentes claves que han sido escaneadas en el número 22 por el comando anterior. Todos los comandos SSH-KeyScan en este tutorial se han ejecutado en el servidor local que admite el número 22 de puerto 22 solamente. Entonces, la salida del comando ssh -keyscan sin ninguna opción y con la opción -p es la misma.

Ejecutar lo siguiente ssh-keyscan ordenar con La t opción de leer todas las claves públicas del RSA Escriba desde la dirección IP 10.0.2.15. Al igual que el comando anterior, la salida del comando puede variar según la dirección IP o el nombre de host utilizado en el comando. Se han recuperado todos los tipos de claves públicas de la dirección IP particular en los dos comandos anteriores. Pero la salida del comando utilizado aquí recuperará toda la información relacionada con la tecla RSA solo.

$ ssh -keyscan -t rsa 10.0.2.15

La siguiente salida muestra que hay una RSA Clave pública que existe en la dirección IP, 10.0.2.15.

Si quieres actualizar el conocido_hosts Archivo con la huella digital del nombre de host en particular o la dirección IP, tiene a la -H opción con el ssh-keyscan dominio. Ejecute el siguiente comando para actualizar el conocido_hosts Archivo ubicado en la ruta, ~/.ssh/conocido_hosts, con la huella digital escaneada que se encuentra en la dirección IP, 10.0.2.15.

$ ssh -keyscan -h 10.0.2.15 >> ~/.ssh/conocido_hosts

La siguiente salida muestra que se han agregado cinco entradas en el conocido_hosts archivo.

Las múltiples opciones se pueden usar con el comando ssh-keyscan. Ejecute el siguiente comando para recuperar el RSA llaves del conocido_hosts archivo y enviar la salida al clasificar comandar para imprimir los valores ordenados únicos del RSA llaves. Se han utilizado dos opciones en este ssh-keyscan dominio. El -T La opción se ha utilizado para recuperar el RSA llaves y el -F La opción se ha utilizado para recuperar las teclas del conocido_hosts archivo. La tubería (|) ha utilizado el comando para enviar el recuperado RSA claves del archivo al comando de clasificación.

$ ssh -keyscan -t rsa -f ~/.ssh/conocido_hosts | Sort -u ~/.ssh/conocido_hosts

La siguiente salida muestra que se han recuperado cuatro claves RSA del archivo conocido_hosts, y las claves se han imprimido en orden ordenado.

Conclusión:

Las diferentes formas de escanear las claves públicas de la máquina cliente utilizando el comando ssh-keyscan se han descrito en este tutorial con las dos cuentas locales del localhost. Puede seguir el mismo proceso para escanear las claves públicas del host remoto.