J'ai les éléments suivants dans mon ssh_config
pour me connecter aux ordinateurs de mon réseau local et aux ordinateurs d'une machine virtuelle :
Host 172.16.*.*
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
Cependant, chaque fois que je me connecte, un avertissement est émis:
$ 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':
J'utilise OpenSSH 7.1. Comment désactiver l'avertissement sur chaque connexion pour le réseau local?
Ajoutez ce qui suit à votre fichier de configuration SSH:
LogLevel ERROR
Ou ajoutez -o LogLevel=ERROR
à la commande ssh elle-même.
Vous devriez pouvoir le faire en changeant votre configuration ssh du niveau de journalisation par défaut "info" à "erreur" (le niveau supérieur suivant).
Reportez-vous à la page de manuel ssh_config
:
LogLevel
Donne le niveau de verbosité utilisé lors de la journalisation des messages de ssh (1). Les valeurs possibles sont:QUIET
,FATAL
,ERROR
,INFO
,VERBOSE
,DEBUG
,DEBUG1
,DEBUG2
etDEBUG3
. La valeur par défaut estINFO
.DEBUG
etDEBUG1
sont équivalents.DEBUG2
etDEBUG3
spécifient chacun des niveaux plus élevés de sortie détaillée.
Le code source de ssh
raconte l'histoire:
/*
* 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);
avec la définition de log_init
:
void
log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr)
{
c’est-à-dire que tous les messages "log" vont à l’erreur standard, et vous ne pouvez ajuster que le nombre que vous obtenez. Celui que vous ne voulez pas se trouve être au niveau INFO
.
En bref, exécutez ssh avec l’option -q pour désactiver les avertissements/diagnostics (mais pas les erreurs).