Deshabilite la advertencia "Agregado permanentemente <host> ..." en la LAN local

25

Tengo lo siguiente en mi ssh_configpara conectarme a máquinas en mi LAN local y máquinas en una VM:

Host 172.16.*.*
StrictHostKeyChecking no
UserKnownHostsFile /dev/null

Sin embargo, cada vez que me conecto produce una advertencia:

$ ssh [email protected]
Warning: Permanently added '172.16.4.11' (ECDSA) to the list of known hosts.
Enter passphrase for key '/Users/jdoe/.ssh/id_ed25519': 

Estoy usando OpenSSH 7.1. ¿Cómo deshabilito la advertencia en cada conexión para la LAN local?

jww
fuente

Respuestas:

30

Agregue lo siguiente a su archivo de configuración SSH:

LogLevel ERROR

O anexar -o LogLevel=ERRORal comando ssh mismo.

TakingItCasual
fuente
El archivo de configuración SSH en Debian es /etc/ssh/ssh_config( /etc/ssh/sshd_config¡ no !)
rubo77
15

Debería poder hacerlo cambiando la configuración de ssh del nivel de registro predeterminado de "información" a "error" (el siguiente nivel superior).

Consulte la ssh_configpágina del manual:

LogLevel
Da el nivel de verbosidad que se utiliza al registrar mensajes de ssh (1). Los valores posibles son: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, y DEBUG3. El valor por defecto es INFO. DEBUGy DEBUG1son equivalentes DEBUG2y DEBUG3cada uno especifica niveles más altos de salida detallada.

El código fuente de sshcuenta la historia:

    /*
     * Initialize "log" output.  Since we are the client all output
     * actually goes to stderr.
     */
    log_init(av[0], options.log_level == -1 ? SYSLOG_LEVEL_INFO : options.log_level,
        SYSLOG_FACILITY_USER, 1);

junto con la definición de log_init:

void
log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr)
{

es decir, todos los mensajes de "registro" van al error estándar, y solo puede ajustar la cantidad que recibe. El que no quieres está en el INFOnivel.

Thomas Dickey
fuente
7

En resumen, ejecute ssh con el indicador -q para deshabilitar las advertencias / diagnósticos (pero no los errores).

JJC
fuente
77
-qhará más de lo que probablemente esperaba. Suprime mensajes de error muy útiles. Ejemplo: ssh -q not-existing-hostno imprimirá un solo mensaje de error. Este comando simplemente falla en silencio. Por el contrario, ssh -o LogLevel=error not-existing-hostimprimirá una explicación: ssh: no se pudo resolver el nombre de host host no existente: nombre o servicio desconocido
hagello