La primera vez ssh-copy-id
preguntará
# 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í?
Respuestas:
Si
ssh-copy-id
no admite la opción StrictHostKeyChecking, puede escribir un script que sí lo haga:ssh-keyscan
contra el servidor de destino para obtener la clave públicassh-copy-id
fuente
SSH tiene una opción para agregar automáticamente cualquier clave de host al archivo de hosts de confianza:
Como alternativa, puede hacer lo siguiente:
Editar : como parece que estas soluciones no funcionan
ssh-copy-id
, siempre puede crear un~/.ssh/config
archivo con la siguiente opción:Esto debería funcionar con todas las conexiones SSH, independientemente de si se invocan mediante un script o no.
fuente
ssh-copy-id
no tiene-o
ssh-copy-id -?
ssh-copy-id
es un guión. Puede modificarlo para agregar-o StrictHostKeyChecking=no
o deshabilitar ese parámetro en el archivo ssh_config.ssh-copy-id servername
funciona bien.sudo sed -i.bak 's/ssh \$/ssh -o StrictHostKeyChecking=no \$/' $(which ssh-copy-id)
.Prueba esto:
no agrega las claves de host al archivo known_hosts pero le permite copiar (o agregar) la clave pública a la
authorized_keys
que desea, si ese es el único propósito aquí.fuente