142 votes

Ne pas ajouter hostkey à known_hosts pour SSH

Je veux me connecter à un hôte via SSH mais je ne veux pas que le nom de l'hôte soit ajouté à ma liste d'utilisateurs. ~/.ssh/known_hosts .

Comment puis-je faire ça ?

128voto

cclark Points 1381

Si vous souhaitez obtenir ce comportement parce que vous travaillez avec des serveurs en nuage (AWS EC2, Rackspace CloudServers, etc.) ou que vous provisionnez constamment de nouvelles images dans Vagrant, il est préférable de mettre à jour votre configuration SSH plutôt que d'ajouter des alias bash ou davantage d'options sur la ligne de commande.

Pensez à ajouter quelque chose comme :

Host *.mydomain.com 
  StrictHostKeyChecking no
  UserKnownHostsFile /dev/null
  User foo
  LogLevel QUIET
  • Pour être sûr, utilisez une expression rationnelle pour l'hôte aussi stricte que possible.
  • En réglant le LogLevel sur QUIET, l'avertissement mentionné par Guillaume n'apparaîtra pas.

122voto

Alexander Malakhov Points 101
-o "UserKnownHostsFile=/dev/null"

devrait fonctionner.

22voto

Quanlong Points 1110

Pour une seule session ssh, utilisez ceci

ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null user@host

11voto

Kyle Rose Points 111

Je pense que l'ajout de la clé d'hôte à votre known_hosts (les personnes qui exécutent ces services sont, d'après mon expérience, au moins assez intelligentes pour garder leurs clés d'hôte cohérentes entre les machines qui servent le même nom d'hôte), puis l'activation de StrictHostKeyChecking, la désactivation de CheckHostIP et la journalisation avec LogLevel ERROR vous donneront la meilleure expérience sans sacrifier la sécurité. (Ok, sans CheckHostIP vous devez faire confiance au DNS, ce qui est un énorme trou béant en l'absence de DNSSEC généralisé ou quelque chose de similaire ; mais nous allons juste balayer cela sous le tapis pour le moment).

J'utilise un fichier known_hosts en lecture seule, donc je dois 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 que je puisse les copier explicitement sans avoir à me connecter d'abord et m'exposer potentiellement à une attaque MITM.

7voto

kiloforce Points 79

Je propose

LogLevel ERROR

sur

LogLevel QUIET

donc vous obtenez toujours "Impossible de résoudre le nom d'hôte" et d'autres erreurs de ce genre.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X