Responda "sí" a ssh-copy-id ejecutado por primera vez por script?

8

La primera vez ssh-copy-idpreguntará

# ssh-copy-id -i .ssh/id_dsa.pub [email protected]
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)? 

¿Es posible escribir esto, entonces el guión solo responderá sí?

Sandra
fuente

Respuestas:

6

Si ssh-copy-idno admite la opción StrictHostKeyChecking, puede escribir un script que sí lo haga:

  1. Ejecutar ssh-keyscancontra el servidor de destino para obtener la clave pública
  2. Agregue eso al archivo known_hosts
  3. correr ssh-copy-id
cjc
fuente
8

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 backup@example.com

Como alternativa, puede hacer lo siguiente:

echo "yes \n" | ssh-copy-id -i .ssh/id_dsa.pub backup@example.com

Editar : como parece que estas soluciones no funcionan ssh-copy-id, siempre puede crear un ~/.ssh/configarchivo con la siguiente opción:

StrictHostKeyChecking no

Esto debería funcionar con todas las conexiones SSH, independientemente de si se invocan mediante un script o no.

brain99
fuente
1
Lamentablemente no funciona, y ssh-copy-idno tiene-o
Sandra
Extraño, informa ese cambio al emitirssh-copy-id -?
brain99
1
@sandra ssh-copy-ides un guión. Puede modificarlo para agregar -o StrictHostKeyChecking=noo deshabilitar ese parámetro en el archivo ssh_config.
ewwhite
Además, no necesita especificar la ubicación clave ... ssh-copy-id servernamefunciona bien.
ewwhite
sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id).
quanta
0

Prueba esto:

ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com -y

no agrega las claves de host al archivo known_hosts pero le permite copiar (o agregar) la clave pública a la authorized_keysque desea, si ese es el único propósito aquí.

Abhay Tiwari
fuente
no hay ninguna opción
ImranRazaKhan