SSH: cómo agregar un host al archivo ssh/known_host

SSH: cómo agregar un host al archivo ssh/known_host

El archivo conocido_hosts se ve así: -

[localhost]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpU   
[10.18.60.198]:8001 ssh-dss AAAAB3NzaC1kc3MAAACBAP1/U4EddRIpUt9
// key are trimmed at the end

Estas claves se agregan a través de Eclipse IDE. Quiere saber cuáles son otras formas de agregar hosts (IP) y sus claves al archivo ssh/known_hosts.

Específico: - Cómo agregarssh-dssclave para cualquier host (IP) en el archivoknown_hosts.

EDITAR:-

Estoy usando JBoss BRMS que usa git para proyectos BRMS, por lo que al momento de clonar el proyecto BRMS en Eclipse IDE a través de Git aparece el siguiente error

No se puede establecer la autenticidad del host 'localhost'.
La huella digital de la clave DSA es e2:2c:62 //recortada.
¿Estás seguro de que quieres continuar conectándote?

Y luego agrega automáticamente la clave ssh-dss al archivo conocido_hosts.

Entonces, ¿dónde encontrar esa clave y agregarla manualmente en el archivo de hosts conocidos?

Respuesta1

El formato de ~/.ssh/known_hostsestá definido por OpenSSH. Otro software podría llamar a OpenSSH (elsshcomando), o podría tener sus propias implementaciones que no son necesariamente 100% compatibles.

El formato OpenSSHknown_hosts se describe en lapágina de manual sshd(8), en "formato de archivo ssh_known_hosts". Dice que es un archivo de texto con una línea por par de claves-host:

Cada línea de estos archivos contiene los siguientes campos: marcadores (opcional), nombres de host, tipo de clave, clave codificada en base64, comentario. Los campos están separados por espacios. […] Los nombres de host son una lista de patrones separados por comas (' *' y ' ?' actúan como comodines); cada patrón, a su vez, se compara con el nombre del host. […] Opcionalmente, se puede incluir un nombre de host o una dirección entre corchetes ' [' y ' ]' seguidos de ' :' y un número de puerto no estándar.

Para agregar automáticamente una clave para un nuevo host, simplemente envíele SSH.

Para agregar manualmente una clave para un nuevo host, 1) abra el archivo conocido_hosts en su editor de texto y 2) agregue la clave para un nuevo host, siguiendo el mismo formato. (La clave debe coincidir con el host al que se está conectando. Puede consultar la clave de un host usando ssh-keyscan -t <type> <address>).

Para agregar una clave paratodohosts, utilice un *patrón como nombre de host, que coincidirá con todos los nombres de host y direcciones. Para agregar una clave para todos los hostsen un puerto específico, utilícelo [*]:8001como nombre de host.

Respuesta2

Por ejemplo necesitas agregar127.0.0.1a hosts_conocidos:

ssh-keyscan -H 127.0.0.1 >> ~/.ssh/known_hosts

Para el archivo Docker uso:

RUN apt-get update  \
    && apt-get install -y \
    ssh \
    && rm -rf /var/lib/apt/lists/* \
    && mkdir -p ~/.ssh/ \
    && ssh-keyscan -H 192.168.12.31 >> ~/.ssh/known_hosts

Dónde apt-get install -y ssh- hacer posible el usoescaneo de claves sshen la línea de comandos, luego rm -rf /var/lib/apt/lists/*- limpiar la información del paquete descargado con apt.

Respuesta3

Intente conectarse a su objetivo y luego escriba sí cuando le solicite guardar la clave.

información relacionada