bash - exclude - rsync ssh password
¿Cómo aceptar automáticamente la clave remota cuando rsyncing? (3)
Puede agregar la clave de este host a known_hosts de antemano de esta manera:
ssh-keyscan $someip >> ~/.ssh/known_hosts
Estoy intentando crear un sistema que copie automáticamente los archivos de un servidor a muchos servidores. Como parte de eso estoy usando rsync e instalando claves SSH, que funciona correctamente.
Mi problema es que cuando intenta conectarse a un nuevo servidor por primera vez, solicitará una confirmación. ¿Hay alguna manera de aceptar automáticamente?
Ejemplo de comando / salida:
rsync -v -e ssh * root@someip:/data/
The authenticity of host ''someip (someip)'' can''t be established.
RSA key fingerprint is somerandomrsakey.
Are you sure you want to continue connecting (yes/no)? yes
Sé que esto fue preguntado hace 3 años, pero esto estaba en la parte superior de mi búsqueda en Google y no pude obtener ninguna de estas soluciones en medio de un script Vagrant para que funcione correctamente para mí. Así que quería poner aquí el método que encontré en otro lugar .
La solución allí habla sobre la actualización del ~/.ssh/config
o /etc/ssh/ssh_config
con los siguientes bloques de código.
Para deshabilitar la comprobación de claves de host para un host en particular (por ejemplo, remote_host.com):
Host remote_host.com
StrictHostKeyChecking no
Para desactivar la comprobación de claves de host para todos los hosts a los que se conecta:
Host *
StrictHostKeyChecking no
Para evitar la verificación de la clave del host, y no usar el archivo known_hosts para la subred 192.168.1. *:
Host 192.168.0.*
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
Espero que esto ayude a alguien más que se encuentre con este problema.
Si realmente son nuevos hosts, y no puede agregar las claves a known_hosts
antemano (vea la respuesta de York.Sar), puede usar esta opción:
-e "ssh -o StrictHostKeyChecking = no"