Il n'y a pas de solution propre au problème que vous avez noté pour autant que je sache.
La redirection / dev / null suggérée précédemment affichera toujours l'avertissement, elle désactive simplement la fonction de sécurité de stockage des clés distantes en redirigeant la sortie vers / dev / null.
Donc ssh penserait toujours qu'il écrit quelque chose qui est en fait écarté.
Comme je le sais, la seule option est d'attraper le message et de le supprimer de stdout.
ssh/scp..... 2>&1 | grep -v "^Warning: Permanently added"
Voici un exemple complet que vous pouvez utiliser comme wrapper pour masquer ces avertissements:
#!/bin/bash
remove="^Warning: Permanently added"
cmd=${0##*/}
case $cmd in
ssh)
binary=/usr/bin/ssh
;;
*)
echo "unsupported binary ($0)"
exit
;;
esac
$binary "$@" 2>&1 | grep -v "$remove"
Pour l'installer, tout ce que vous avez à faire est d'ajouter / modifier l'instruction "case" pour la commande que vous souhaitez modifier. (ssh, scp, git etc.).
le "ssh)" signifie que le script doit être nommé "ssh" (ou un lien vers le script est nommé ssh). Le binaire = / full / path est le chemin vers le binaire que le script doit encapsuler.
Ensuite, placez le script avec un nom de votre choix dans / bin ou ailleurs.
Le script est également l'endroit où vous pouvez utiliser un -o "UserKnownHostsFile = / dev / null" à la variable $ binaire, c'est bien mieux que de mettre un tel risque de sécurité dans la configuration globale ssh qui affectera toutes vos sessions ssh et non juste ceux dont vous voulez supprimer le message.
Inconvénients:
c'est un peu plus complexe, pas une solution parfaitement propre et déplace stderr dans stdout, ce qui peut ne pas être bon dans tous les cas.
Mais cela éliminera toutes sortes de messages d'avertissement que vous ne souhaitez pas voir et vous pouvez utiliser un seul script pour envelopper tous les binaires que vous voulez (en utilisant des liens de système de fichiers vers lui)
The authenticity of host '...' can't be established. RSA key fingerprint is .... Are you sure you want to continue connecting (yes/no)?
ou l'avez-vous supprimé? Si c'est le cas, s'agit-il de la même empreinte digitale à chaque fois? Si ce n'est pas le cas, c'est vraiment effrayant . L'option la moins effrayante serait que d'une manière ou d'une autre, il ne parvient pas à écrire dans le fichier hosts, donc il essaie à nouveau à chaque fois. Jetez un oeil à~/.ssh/known_hosts
?