Agregar una clave pública al archivo known_hosts

11

He descargado la clave pública ECDSA ( ssh_host_ecdsa_key.pub) de otra máquina. Quiero agregar la clave a mi known_hostsarchivo local antes de conectarme a través de SSH. ¿Cómo puedo hacer eso manualmente (sin comparar los hash MD5 en la pantalla)?

Estoy ejecutando Ubuntu 15.04 en mi máquina local.

PhilippVerpoort
fuente

Respuestas:

10

La página del manual sshd(8)describe el formato del known_hostsarchivo:

Cada línea en estos archivos contiene los siguientes campos: marcadores (opcional), nombres de host, bits, exponente, módulo, comentario. Los campos están separados por espacios.

Si su clave pública para su host se ve así:

ssh-rsa AAAA1234.....=

Así que solo pon esta línea en tu ~/.ssh/known_hostsarchivo:

your.host.name,0.0.0.0 ssh-rsa AAAA1234.....=

donde intercambiará el nombre de host y la ip para su host.

Ahora depende si tiene la sshopción HashKnownHostsactivada. Si no, ya está. De lo contrario (por ejemplo, en las versiones actuales de Ubuntu), necesitará hacer hash de este archivo usando ssh-keygen -H -f ~/.ssh/known_hosts.

Jakuje
fuente
¿Cuál es el significado del signo igual al final de ssh-rsa AAAA1234.....=? Abrí mi clave pública y que no termina con un signo de igual a igual, en cambio el formato será similar a: ssh-rsa AAAA1234.... user@hostname. ¿Cómo insertaría eso en mi known_hostsarchivo?
Wheeler
1
@wheeler Insértelo en los hosts conocidos tal como están. El signo igual es solo un relleno de codificación base64.
Jakuje