GNU/Linux >> Tutoriales Linux >  >> Linux

Ssh:¿cómo evitar que Ssh pida permiso?

Estamos intentando acelerar la instalación de los nodos de Oracle para la instalación de RAC.
esto requiere que instalemos y configuremos ssh para que no solicite una contraseña.

El problema es:
En el primer uso, se nos solicita

RSA key fingerprint is 96:a9:23:5c:cc:d1:0a:d4:70:22:93:e9:9e:1e:74:2f.
Are you sure you want to continue connecting (yes/no)? yes

¿Hay alguna forma de evitar eso o estamos condenados a conectarnos al menos una vez en cada servidor desde cada servidor manualmente?

Respuesta aceptada:

Actualización de diciembre de 2019:

Como Chris Adams señaló a continuación, ha habido un cambio bastante significativo en Openssh en los 6,5 años desde que se escribió esta respuesta, y hay una nueva opción que es mucho más segura que el consejo original a continuación:

* ssh(1): expand the StrictHostKeyChecking option with two new
   settings. The first "accept-new" will automatically accept
   hitherto-unseen keys but will refuse connections for changed or
   invalid hostkeys. This is a safer subset of the current behaviour
   of StrictHostKeyChecking=no. The second setting "off", is a synonym
   for the current behaviour of StrictHostKeyChecking=no: accept new
   host keys, and continue connection for hosts with incorrect
   hostkeys. A future release will change the meaning of
   StrictHostKeyChecking=no to the behaviour of "accept-new". bz#2400

Entonces, en lugar de configurar StrictHostKeyChecking no en tu ssh_config archivo, configure StrictHostKeyChecking accept-new .

Establecer StrictHostKeyChecking no en su /etc/ssh/ssh_config archivo, donde será una opción global utilizada por cada usuario en el servidor. O configúrelo en su ~/.ssh/config archivo, donde será el predeterminado solo para el usuario actual. O puede usarlo en la línea de comando:

ssh -o StrictHostKeyChecking=no -l "$user" "$host"

Aquí hay una explicación de cómo funciona esto desde man ssh_config (o vea esta versión más actual):

StrictHostKeyChecking

      Si esta bandera se establece en "sí", ssh nunca agregará automáticamente
      claves de host a $HOME/.ssh/known_hosts y se niega a
      conectarse a hosts cuya clave de host haya cambiado.
      Esto proporciona la máxima protección
      contra ataques de caballos de Troya, sin embargo, puede ser
      molesto cuando /etc/ssh/ssh_known_hosts el archivo está
      mal mantenido,
      o las conexiones a nuevos hosts se realizan con frecuencia. Esta
      opción obliga al usuario a agregar manualmente todos los hosts nuevos. Si este indicador
      se establece en "no", ssh agregará automáticamente nuevas claves de host a
      los archivos de hosts conocidos del usuario. Si esta marca se establece en "preguntar", se agregarán nuevas
      claves de host a los archivos de host conocidos del usuario solo después de que
      el usuario haya confirmado que eso es lo que realmente quiere hacer, y ssh se negará a conectarse a hosts cuya clave de host haya cambiado.
      Las claves de host de los hosts conocidos se verificarán automáticamente en
      todos los casos. El argumento debe ser “sí”, “no” o “preguntar”. El
      predeterminado es "preguntar".

Linux
  1. Cómo configurar conexiones SSH personalizadas para simplificar el acceso remoto

  2. Cómo usar túneles SSH para acceder a servidores restringidos

  3. SSH a hosts remotos a través de un proxy o bastión con ProxyJump

  4. Cómo reparar la clave infractora en el archivo ~/.ssh/known_hosts

  5. ¿Cómo scp a través de una máquina intermedia?

Cómo crear hosts virtuales en el servidor Apache para alojar varios sitios web

Cómo configurar servidores virtuales Apache en Ubuntu 18.04 LTS

Cómo configurar servidores virtuales Apache en Ubuntu 20.04

Administración de hosts dedicados

Cómo agregar una clave SSH a VS Code y conectarse a un host

Cómo deshabilitar la verificación de clave de host SSH en Linux