Réponses:
-o "UserKnownHostsFile /dev/null"
devrait marcher.
grep
fusionner stdout et stderr; aussi le statut de sortie peut changer. En cas d' utilisation bash
, il sera préférable d'utiliser la substitution de processus pour se débarrasser du message: ssh 2> >( egrep >&2 -v '^Warning: Permanently added') -o "UserKnownHostsFile /dev/null" [...]
. Cela évitera le tuyau et donc les changements correspondants dans la gestion du statut de sortie.
Si vous voulez ce comportement parce que vous travaillez avec des serveurs de cloud (AWS EC2, Rackspace CloudServers, etc.) ou que vous fournissez constamment de nouvelles images dans Vagrant, vous pouvez mettre à jour votre configuration SSH au lieu d’ajouter des alias bash ou davantage d’options à la place. ligne de commande.
Pensez à ajouter quelque chose comme:
Host *.mydomain.com
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
User foo
LogLevel QUIET
J'ai l'impression d'ajouter la clé de l'hôte à votre unknown_hosts (les personnes qui exécutent ces services sont, au moins, assez intelligentes pour que leurs clés d'hôte restent cohérentes entre les ordinateurs desservant le même nom d'hôte), puis d'activer StrictHostKeyChecking, de désactiver CheckHostIP et de la journalisation avec LogLevel ERROR vous donnera la meilleure expérience sans sacrifier la sécurité. (Ok, sans CheckHostIP, vous devez faire confiance à DNS, qui est un énorme trou béant sans DNSSEC répandu ou quelque chose de similaire; mais nous allons simplement balayer cela sous le tapis pour le moment.)
J'utilise un fichier known_hosts en lecture seule, je dois donc faire quelque chose ou je reçois des avertissements sans fin sur l'impossibilité d'ajouter des entrées à known_hosts.
Ce que j'utilise:
Host github.com *.github.com
StrictHostKeyChecking yes
CheckHostIP no
LogLevel ERROR
J'aimerais que ces services publient leurs clés d'hôte SSH sur leurs sites Web via HTTPS, afin de pouvoir les copier explicitement sans avoir à me connecter au préalable et potentiellement s'exposer à une attaque par MITM.
je suggère
LogLevel ERROR
plus de
LogLevel QUIET
de sorte que vous obtenez toujours "Impossible de résoudre le nom d'hôte" et d'autres erreurs de ce type
Avez-vous essayé de désactiver StrictHostKeyChecking
? Vous pouvez le faire avec l' -o
option ou dans le fichier de configuration ~/.ssh/config
.
J'ai trouvé les entrées .ssh / config suivantes utiles (LAN avec DHCP et DNS):
CheckHostIP no
Host *.*
CheckHostIP yes
Le résultat est que les noms de machines locales "zora" ou "goron" ne seront pas comparés aux adresses IP attribuées de manière dynamique, mais www.mycompany.com ou node42.planetlab.com verront toujours leurs adresses IP statiques confirmées.
grep -v "^Warning: Permanently added"