¿Cómo agregar un host conocido SSH en un script bash?

¿Cómo agregar un host conocido SSH en un script bash?

Estoy creando un script bash para aprovisionar un nuevo servidor en el que puedo implementar una aplicación web. Una cosa que siempre tengo que hacer es utilizar GitHub como host conocido . ¿Cómo puedo automatizar este proceso en un script bash y hacerlo de forma idempotente?ssh [email protected]

Respuesta1

La forma más sencilla de hacerlo sería hacer algo como esto.

ssh-keyscan remote_server >>~/.ssh/known_hosts

Si este cuadro es nuevo, es posible que también necesite crear el ~/.sshdirectorio antes de ejecutarescaneo de claves ssh.

Tenga en cuenta que ssh-keyscan puede aceptar una cantidad arbitraria de nombres de host. Obtendrá todas las claves que pueda.

Respuesta2

¿Estás intentando automatizar la aceptación de la nueva clave? Si es así, puedes usar -oStrictHostKeyChecking=no.
Hacerlo es una muy mala idea ya que ahora estás completamente expuesto a ataques de intermediarios.

Una mejor opción sería simplemente administrar un archivoknown_hosts y reutilizarlo cuando aprovisione nuevos servidores. Péguelo en github y escriba un script simple para descargar ese archivo antes de ingresar a github.

La estricta verificación de la clave del host es algo bueno.

Respuesta3

No estoy seguro de haber entendido la pregunta, pero creo que desea ignorar el mensaje deknown_host o evitarlo por completo, en cuyo caso:

ssh -o StrictHostKeyChecking=no

u otras sugerencias en:http://www.joedog.org/2012/07/ssh-disable-known_hosts-prompt/

información relacionada