Auto aceptar la huella digital de la llave rsa desde la línea de comando

15

Intenté yes | ssh [email protected]tratar de aceptar la huella digital de la clave RSA, pero aún se me pregunta si estoy seguro de que quiero conectarme. ¿Hay alguna manera de hacer esto automático?

VenomFangs
fuente

Respuestas:

8

Agregue estos a su archivo de inicio bash, o similar:

 #
 #  ssh + scp without storing or prompting for keys.
 #
 function sshtmp
 {
     ssh -o "ConnectTimeout 3" \
         -o "StrictHostKeyChecking no" \
         -o "UserKnownHostsFile /dev/null" \
              "$@"
 }
 function scptmp
 {
     exec scp -o "ConnectTimeout 3" \
         -o "StrictHostKeyChecking no" \
         -o "UserKnownHostsFile /dev/null" \
         "$@"
 }

Luego use sshtmp, o scptmpen lugar de sshy scp.

NOTA Si sigue este camino, no se le avisará que una clave de host ha cambiado y perderá seguridad.


fuente
44
Gracias ssh -o "StrictHostKeyChecking no" [email protected]funcionó para mí
VenomFangs
16
¿Cómo es esta la respuesta? ¡La pregunta era aceptar las claves automáticamente, no ignorarlas! Si esto se pregunta y responde aquí, ¿cómo encuentro una respuesta a la pregunta real "Aceptar claves automáticamente"? Odio hacer un voto negativo, pero vamos gente, ¡esta no es la forma en que debería ser el intercambio de fichas!
JohnnyB
@JohnnyB mira mi respuesta. No es la solución más limpia, pero en realidad permite que la clave sea aceptada automáticamente
RDP
13

OpenSSH 7.6 ha introducido una nueva StrictHostKeyChecking=accept-newconfiguración para exactamente este propósito:

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 "n", 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".

( Notas de la versión de OpenSSH 7.6 )

Klas Š.
fuente
10

Uso de SSH mediante programación con clave de hosts conocidos

Si lo que desea es poder usar mediante programación Y evitar el ataque Man-In-The-Middle , le sugiero que obtenga la huella digital conocida utilizando el comando ssh-keyscan. Ejemplo:

$ ssh-keyscan -t rsa,dsa github.com 2>/dev/null
github.com ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==
github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==

Luego puede falsificar un script para guardarlo en un archivo temporal y usar la UserKnownHostsFileopción. El siguiente ejemplo es un script, que se puede llamar ssh_github:

#!/bin/bash

HOSTKEY='github.com ssh-dss AAAAB3NzaC1kc3MAAACBANGFW2P9xlGU3zWrymJgI/lKo//ZW2WfVtmbsUZJ5uyKArtlQOT2+WRhcg4979aFxgKdcsqAYW3/LS1T2km3jYW/vr4Uzn+dXWODVk5VlUiZ1HFOHf6s6ITcZvjvdbp6ZbpM+DuJT7Bw+                      h5Fx8Qt8I16oCZYmAPJRtu46o9C2zk1AAAAFQC4gdFGcSbp5Gr0Wd5Ay/jtcldMewAAAIATTgn4sY4Nem/FQE+XJlyUQptPWMem5fwOcWtSXiTKaaN0lkk2p2snz+EJvAGXGq9dTSWHyLJSM2W6ZdQDqWJ1k+cL8CARAqL+UMwF84CR0m3hj+wtVGD/J4G5kW2DBAf4/bqzP4469lT+dF2FRQ2L9JKXrCWcnhMtJUvua8dvnwAAAIB6C4nQfAA7x8oLta6tT+oCk2WQcydNsyugE8vLrHlogoWEicla6cWPk7oXSspbzUcfkjN3Qa6e74PhRkc7JdSdAlFzU3m7LMkXo1MHgkqNX8glxWNVqBSc0YRdbFdTkL0C6gtpklilhvuHQCdbgB3LBAikcRkDp+FCVkUgPC/7Rw==
github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+                                                                                                                                      PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+    2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=='

TEMPFILE=$(mktemp)
echo "$HOSTKEY" > $TEMPFILE

ssh -o "UserKnownHostsFile $TEMPFILE" $@

rm $TEMPFILE

Con esto, puede ejecutar en ssh_githublugar de sshy se conectará incluso si no hay ningún known_hostsarchivo donde coloque el script.

RDP
fuente
0

Solo uso: 'ssh -o StrictHostKeyChecking = no user @ host', también se puede usar con pssh: 'pssh -O StrictHostKeyChecking = no -h list.text -l user -A -i "cmd"'

Saludos,

Diego Souza
fuente
Esto funcionó para mí, ¿hay alguna razón por la que se rechazó la votación? También requiere OpenSSH 7.6+
Xenocide8998
-3

Puede usar la -yopción: es decir, probar

ssh -y [email protected]

-y Siempre acepte la clave de host remoto si se desconoce

usuario392897
fuente
¡Bienvenido a Server Fault! Utilice Markdown y / o las opciones de formato en el menú de edición para configurar correctamente sus publicaciones para mejorar su legibilidad. Es una convención formatear comandos como " code".
HBruijn
Extraño pero en el hombre veo lo siguiente --y Send log information using the syslog system module. By default this information is sent to stderr.
ALex_hha
Veo lo mismo en el hombre.
Király István
esta no es una opción ssh válida? ¿De dónde copiaste / pegaste esto?
Flo Woo
2
Esta opción solo existe en dropbear SSH, no en OpenSSH.
Jeremy Visser