ssh - rsa key fingerprint
¿Cómo puedo forzar a ssh a aceptar una nueva huella digital de host desde la línea de comando? (2)
Estoy obteniendo el estándar
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
mensaje de error. Sin embargo, el sistema (Appworx) que ejecuta el comando (sftp, creo, no es que importe) está automatizado y no puedo aceptar fácilmente la nueva clave, incluso después de consultar con el proveedor externo que se trata de un cambio válido. Puedo agregar un nuevo script de shell que pueda ejecutar desde el mismo sistema (y usuario), pero no parece haber un comando o argumento de línea de comandos que le diga a ssh que acepte la clave. No puedo encontrar nada en la página del manual o en Google. Seguramente esto es posible?
A continuación, le indicamos cómo decirle a su cliente que confíe en la clave. Un mejor enfoque es darle la clave por adelantado, que he descrito en el segundo párrafo. Esto es para un cliente OpenSSH en Unix, por lo que espero que sea relevante para su situación.
Puede establecer el parámetro StrictHostKeyChecking
. Tiene opciones yes
, no
, y ask
. El valor por defecto es ask
. Para configurarlo en todo el sistema, edite /etc/ssh/ssh_config
; para configurarlo solo para ti, edita ~/.ssh/config
; y para configurarlo para un solo comando, dé la opción en la línea de comando, por ej.
ssh -o "StrictHostKeyChecking no" hostname
Un enfoque alternativo si tiene acceso a las claves de host para el sistema remoto es agregarlas a su archivo known_hosts
por adelantado, para que SSH las conozca y no haga la pregunta. Si esto es posible, es mejor desde un punto de vista de seguridad. Después de todo, la advertencia podría ser correcta y realmente podría estar sujeto a un ataque de hombre en el medio.
Por ejemplo, aquí hay un script que recuperará la clave y la agregará a su archivo known_hosts:
ssh -o ''StrictHostKeyChecking no'' hostname cat /etc/ssh/ssh_host_dsa_key.pub >>~/.ssh/known_hosts
Agregar el siguiente archivo
~/.ssh/config
y esto en el archivo como contenido
StrictHostKeyChecking no
Esta configuración se asegurará de que ssh nunca vuelva a solicitar la verificación de huellas dactilares.