keygen digitalocean ubuntu ssh foreign-keys

digitalocean - ssh ubuntu



Cómo establecer el par de claves ssh cuando "Falló la verificación de la clave de host" (8)

Esto significa que su clave de host remoto fue cambiada (puede ser un cambio de contraseña de host),

Su terminal sugirió ejecutar este comando como usuario raíz

$ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]:4231

Debe eliminar ese nombre de host de la lista de hosts en su pc / servidor. Copie ese comando sugerido y ejecútelo como usuario raíz.

$ sudo su // Login as a root user $ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net]:4231 // Terminal suggested command execute here Host [www.website.net]:4231 found: line 16 type ECDSA /root/.ssh/known_hosts updated. Original contents retained as /root/.ssh/known_hosts.old $ exit // Exist from root user $ sudo ssh [email protected] -p 4231 // Try again

Espero que esto funcione.

He configurado pares de claves ssh entre mi computadora de escritorio y dos servidores, y de los servidores a mi escritorio, pero después de reinstalar el sistema operativo en mi escritorio, no puedo restablecer el par de llaves yendo a mi escritorio de esta manera:

mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -t ssh-copy-id username@server

Obtuve el siguiente error:

(nombres en cursiva cambiados para proteger a los inocentes Mi escritorio es Ubuntu, y no puedo encontrar la respuesta here )

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@ @@ @@@@@@@@@ @ ADVERTENCIA: ¡LA IDENTIFICACIÓN REMOTA DEL HOST HA CAMBIADO! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@ @@@@@@@@@@ @@ @@@@@@@@@@ ¡ES POSIBLE QUE ALGUIEN HAGA ALGO GRANDE! ¡Alguien podría estar escuchándote en este momento (ataque de hombre en el medio)! También es posible que la clave de host RSA se haya cambiado recientemente. La huella dactilar de la clave RSA enviada por el host remoto es ab: cd: ef: gh. Póngase en contacto con el administrador del sistema. Agregue la clave de host correcta en / home / user /.ssh/known_hosts para deshacerse de este mensaje. Clave ofensiva en / home / user /.ssh/known_hosts:1 La clave de host RSA para user.server ha cambiado y usted ha solicitado una verificación estricta. La verificación de la clave de host falló.


Lo más probable es que el host remoto ip o ip_alias no esté en el archivo ~ / .ssh / known_hosts. Puede usar el siguiente comando para agregar el nombre de host al archivo known_hosts.

$ssh-keyscan -H -t rsa ip_or_ipalias >> ~/.ssh/known_hosts

Además, he generado la siguiente secuencia de comandos para verificar si la ip o ipalias en particular está en el archivo know_hosts.

#!/bin/bash #Jason Xiong: Dec 2013 # The ip or ipalias stored in known_hosts file is hashed and # is not human readable.This script check if the supplied ip # or ipalias exists in ~/.ssh/known_hosts file if [[ $# != 2 ]]; then echo "Usage: ./search_known_hosts -i ip_or_ipalias" exit; fi ip_or_alias=$2; known_host_file=/home/user/.ssh/known_hosts entry=1; cat $known_host_file | while read -r line;do if [[ -z "$line" ]]; then continue; fi hash_type=$(echo $line | sed -e ''s/|/ /g''| awk ''{print $1}''); key=$(echo $line | sed -e ''s/|/ /g''| awk ''{print $2}''); stored_value=$(echo $line | sed -e ''s/|/ /g''| awk ''{print $3}''); hex_key=$(echo $key | base64 -d | xxd -p); if [[ $hash_type = 1 ]]; then gen_value=$(echo -n $ip_or_alias | openssl sha1 -mac HMAC / -macopt hexkey:$hex_key | cut -c 10-49 | xxd -r -p | base64); if [[ $gen_value = $stored_value ]]; then echo $gen_value; echo "Found match in known_hosts file : entry#"$entry" !!!!" fi else echo "unknown hash_type" fi entry=$((entry + 1)); done


Paso 1: $ Bhargava.ssh #

ssh-keygen -R 199.95.30.220

paso2: $ Bhargava.ssh #

ssh-copy-id nombre de [email protected]

Enter the the password.........

paso3: Bhargava .ssh #

ssh nombre de [email protected]

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-68-generic x86_64) * Documentation: https://help.ubuntu.com/ Ubuntu 14.04.3 LTS server : 228839 ip : 199.95.30.220 hostname : qt.example.com System information as of Thu Mar 24 02:13:43 EDT 2016 System load: 0.67 Processes: 321 Usage of /home: 5.1% of 497.80GB Users logged in: 0 Memory usage: 53% IP address for eth0: 199.95.30.220 Swap usage: 16% IP address for docker0: 172.17.0.1 Graph this data and manage this system at: https://landscape.canonical.com/ Last login: Wed Mar 23 02:07:29 2016 from 103.200.41.50

nombre de host @ qt: ~ $


Primero debe eliminar la clave existente. Las claves SSH en la mayoría de los sistemas operativos basados ​​en Linux se guardarán en este archivo "/root/.ssh/known_hosts", por lo que para eliminar la clave relacionada con el host se usará el siguiente comando:

ssh-keygen -f "/root/.ssh/known_hosts" -R [Hostname]

Saludos K1


Si está seguro de que el servidor es correcto, sed -i 1d ~/.ssh/known_hosts eliminará la línea 1 de su ~/.ssh/known_hosts . La nueva clave correcta se agregará al archivo la próxima vez que se conecte.


También a veces hay una situación en la que está trabajando en la consola serie, luego verifica el comando anterior en modo detallado -v le mostrará que / dev / tty no existe, mientras que sí lo hace.

En el caso anterior simplemente elimine / dev / tty y cree un enlace simbólico de / dev / ttyS0 a / dev / tty.


rm -f /home/user/.ssh/known_hosts

o abrirlo y eliminar la entrada de la ip / hostname infractora

(PD: te dice exactamente esto en el mensaje de error que publicaste)


ssh-keygen -R hostname

Esto elimina la clave ofensiva de los known_hosts

La entrada de la página man dice:

-R hostname Elimina todas las claves que pertenecen al nombre de host de un archivo de known_hosts. Esta opción es útil para eliminar hosts hash (ver la opción -H arriba).