Maison > Questions et réponses > le corps du texte
P粉9261742882023-08-28 11:25:55
Comme je l'ai fait précédemment lors du clonage d'un référentiel git, l'erreur suivante s'est produite : échec de la vérification de la clé hôte. fatal : L'extrémité distante a raccroché de manière inattendue , ajoutant GitHub à la liste des hôtes connus :
ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
P粉3126316452023-08-28 11:08:39
Vous vous connectez via le protocole SSH, comme l'indique le préfixe ssh://
sur l'URL du clone. Avec SSH, chaque hôte possède une clé. Le client se souvient de la clé d'hôte associée à une adresse spécifique et refuse la connexion si la clé d'hôte change. Cela évite les attaques de l’homme du milieu.
domain.example
的主机密钥已更改。 如果您觉得这不可疑,请通过编辑 ${HOME}/.ssh/known_hosts
删除 行,从本地缓存中删除旧密钥domain.example
Ou laissez un utilitaire SSH le faire pour vous
ssh-keygen -R domain.example
À partir de là, vous pouvez enregistrer vous-même la clé mise à jour
ssh-keyscan -t rsa domain.example >> ~/.ssh/known_hosts
Ou, de manière équivalente, laissez ssh
在您下次使用 git fetch
、git pull
或 git 连接时为您完成此操作推送
(甚至是普通的ssh domain.example
), répondez « Oui » lorsque vous y êtes invité
The authenticity of host 'domain.example (a.b.c.d)' can't be established. RSA key fingerprint is XX:XX:...:XX. Are you sure you want to continue connecting (yes/no)?
La raison de cette invite est que la clé dans domain.example
删除后不再位于您的 known_hosts
中,并且可能不在系统的 /etc/ssh/ssh_known_hosts 中
,因此ssh
无法知道连接另一端的主机是否真的是domain.example
。 (如果 /etc
est erronée, alors une personne disposant de droits d'administrateur devra mettre à jour le fichier à l'échelle du système. )
Je vous recommande fortement d'envisager également de permettre aux utilisateurs de s'authentifier à l'aide de clés. De cette façon, ssh-agent
le matériel clé peut être stocké pour plus de commodité (plutôt que tout le monde doive saisir un mot de passe à chaque fois qu'il se connecte au serveur), et le mot de passe n'est pas transmis sur le réseau.