Je souhaite me connecter à un hôte via SSH mais je ne souhaite pas que le nom d'hôte soit ajouté à mon ~/.ssh/known_hosts
.
Comment puis je faire ça?
-o "UserKnownHostsFile /dev/null"
devrait marcher.
Si vous voulez ce comportement parce que vous travaillez avec des serveurs 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 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 de l'hôte restent cohérentes entre les ordinateurs servant le même nom d'hôte), puis d'activer StrictHostKeyChecking, de désactiver CheckHostIP 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 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
Pour une seule session SSH, utilisez cette
ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@Host
Avez-vous essayé de désactiver StrictHostKeyChecking
? Vous pouvez le faire avec l'option -o
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.monentreprise.com ou node42.planetlab.com verront toujours leurs adresses IP statiques confirmées.