SSH tiene una opción para agregar automáticamente cualquier clave de host al archivo de hosts de confianza:
ssh-copy-id -i .ssh/id_dsa.pub -o StrictHostKeyChecking=no [email protected]
Como alternativa, podría hacer lo siguiente:
echo "yes \n" | ssh-copy-id -i .ssh/id_dsa.pub [email protected]
Editar :ya que parece que estas soluciones no funcionan con ssh-copy-id
, siempre puedes crear un ~/.ssh/config
archivo con la siguiente opción en él:
StrictHostKeyChecking no
Esto debería funcionar con todas las conexiones SSH, independientemente de si se invocan a través de un script o no.
Si tu ssh-copy-id
no es compatible con la opción StrictHostKeyChecking, puede escribir un script que lo haga:
- Ejecutar
ssh-keyscan
contra el servidor de destino para obtener la clave pública - Agregar eso al archivo unknown_hosts
- Ejecutar
ssh-copy-id