web-dev-qa-db-fra.com

Git dit "Attention: ajouté en permanence à la liste des hôtes connus"

Chaque fois que j'utilise git pour interagir avec une télécommande, par exemple en tirant ou en poussant, le message suivant s'affiche:

Avertissement: Ajout permanent '...' (RSA) à la liste des hôtes connus.

Comment puis-je empêcher l'affichage de ce message agaçant? Ce n'est qu'un désagrément: tout fonctionne correctement.

171
Donald Taylor

Solution: créez un fichier ~/.ssh/config et insérez la ligne:

UserKnownHostsFile ~/.ssh/known_hosts

Vous verrez alors le message lors de votre prochain accès à Github, mais vous ne le verrez plus après, car l'hôte est ajouté au fichier known_hosts. Cela résout le problème plutôt que de simplement masquer le message du journal.

Ce problème me dérangeait depuis un certain temps. Le problème se produit car le client OpenSSH compilé pour Windows ne vérifie pas le fichier known_hosts dans ~/.ssh/known_hosts.

ssh -vvvvvvvvvvvvvvvvvvvvv [email protected]

debug3: check_Host_in_hostfile: filename /dev/null
debug3: check_Host_in_hostfile: filename /etc/ssh/ssh_known_hosts
debug3: check_Host_in_hostfile: filename /dev/null
debug3: check_Host_in_hostfile: filename /etc/ssh/ssh_known_hosts
Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts.
214
Jeremiah Gowdy

Ajoutez la ligne suivante à votre fichier de configuration ssh ($ HOME/.ssh/config):

LogLevel=quiet

Si vous exécutez ssh à partir de la ligne de commande, ajoutez l'option suivante à la chaîne de commande:

-o LogLevel=quiet

Par exemple, ce qui suit imprime la version de gcc installée sur machine.example.org (sans avertissement):

ssh -o UserKnownHostsFile=/dev/null \
    -o StrictHostKeyChecking=no \
    -o LogLevel=quiet \
    -i identity_file \
    machine.example.org \
    gcc -dumpversion
85
Kyle Kloepper

Définissez LogLevel sur ERROR (pas QUIET) dans le fichier ~/.ssh/config pour éviter de voir ces erreurs:

Host *
   StrictHostKeyChecking no
   UserKnownHostsFile /dev/null
   LogLevel ERROR
53
user1193229

Ce message provient de SSH, qui vous avertit que vous vous connectez à un hôte auquel vous ne vous êtes jamais connecté auparavant. Je ne recommanderais pas de l'éteindre, car cela signifierait que vous risquez de manquer un avertissement concernant le changement de clé d'un hôte, ce qui peut indiquer une attaque MITM sur votre session SSH.

3
Jason Carreiro

Pour supprimer les messages d'avertissement pour ssh, vous pouvez ajouter les lignes suivantes à ~/.ssh/config:

Host *
LogLevel error

Cela désactivera les avertissements mais pas les messages d'erreur. Comme les autres paramètres de ~/.ssh/config, vous pouvez configurer la LogLevel sur une base par hôte si vous souhaitez un contrôle plus fin.

3
Stefan Schmidt

Cela signifie principalement que la clé a été modifiée pour cet hôte ~/.ssh/known_hosts et qu'elle ne sera pas automatiquement mise à jour. Par conséquent, chaque fois que vous recevez ce message d'avertissement.

Cela se produit souvent lors de la connexion aux machines virtuelles recréées, ce qui change la clé avec la même adresse IP.

Solution

Si vous ne possédez qu'une seule entrée, vous pouvez alors supprimer le fichier ~/.ssh/known_hosts. Après la première connexion, la clé sera présente et aucun message d'avertissement ne suivra.

Si vous avez plusieurs entrées, vous pouvez utiliser la commande ci-dessous pour supprimer 

$ ssh-keygen -R <hostname>

Ça fonctionne bien pour moi

2
Larry Cai

Ajouter une clé ssh 

ssh-keygen -t rsa -b 4096 -C "[email protected]"

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/bitbucket_rsa

fichier de configuration de caisse 

crate ~/.ssh/config

ajouter la ligne ci-dessous.

UserKnownHostsFile ~/.ssh/known_hosts

Ajoutez ensuite la clé pub et clonez votre référentiel ... Terminé .....

0
Thanuja

J'avais rencontré la même erreur sous Linux/Cent OS VM et c'était parce que l'IP changeait après le redémarrage. Afin de contourner ce problème, j'ai défini une adresse IP statique sur le réseau et ajouté cette entrée au fichier/etc/hosts. Pour une adresse IP statique, indiquez une valeur de plage légèrement supérieure. Par exemple, si votre adresse IP actuelle (ipconfig/ifconfig) est 192.168.0.102, celle-ci après le redémarrage peut devenir 192.168.0.103. Définissez donc votre adresse IP statique dans les paramètres IPV4 comme étant 192.168.0.181, ce qui devrait faire l'affaire.

0
Vignesh Menon

J'ai la même question et j'ai constaté qu'il n'y a pas de fichier .ssh dans mon ~. Je crée donc simplement le répertoire .ssh sous le chemin ~ et le problème est résolu.

0
Kris Roofe

J'ai eu le même problème quand j'ai commencé à utiliser une machine Windows. Dans mon cas, c'était parce que ma configuration SSH n'était pas terminée. Github a une documentation très précise sur la configuration de SSH. Une fois que cela a été pris en charge, le problème a été résolu.

https://help.github.com/articles/checking-for-existing-ssh-keys/https://help.github.com/articles/generating-a-new-ssh -key-and-add-it-to-the-ssh-agent/

0
Narita

Dans mon cas, c’est parce que l’administrateur qui a configuré le serveur a défini ces options dans ~/.ssh/config

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

Ce qui a bien fonctionné dans la plupart des cas en n'utilisant pas le fichier ~/.ssh/known_hosts. Mais pour l'entreprise gitlab repo, à chaque fois, elle a donné le message "Avertissement: ajouté de manière permanente ... à la liste des hôtes connus".

Ma solution a été de commenter la ligne UserKnownHostsFile /dev/null, qui a permis la création de ~/.ssh/known_hosts. Ensuite, il n'a plus donné d'avertissement par la suite.

Vous pouvez également avoir une ancienne/invalide entrées dans votre known_hosts.

# find entry in ~/.ssh/known_hosts
ssh-keygen -F <hostname>

# delete entry in ~/.ssh/known_hosts
ssh-keygen -R <hostname>
0
wisbucky

Si vous utilisez un référentiel depuis GitHub, envisagez plutôt d'utiliser la versionHTTPSde l'URL, pour éviter complètement ce problème:

Click the HTTP button and clone that URL instead

Si vous clonez votre référentiel à partir de l'application Windows GitHub, voici ce qu'il utilise pour l'URL distante. Peut-être qu'ils savent quelque chose que nous ne savons pas.

0
Ricket