连接到远程存储库时出现Git错误:“主机密钥validation失败”

我试图连接到驻留在我的Web服务器上的远程Git存储库,并将其克隆到我的机器上。

我为我的命令使用以下格式:

git clone ssh://username@domain.com/repository.git 

这对我的大部分团队成员来说工作得很好。 通常在运行这个命令后,Git会提示input用户的密码,然后运行克隆。 但是,当我在我的一台机器上运行,我得到以下错误:

主机密钥validation失败。

致命的:无法从远程存储库读取。

我们没有使用SSH密钥连接到这个存储库,所以我不确定为什么Git正在这个特定的机器上检查一个。

您正在通过SSH协议进行连接。 使用SSH,每个主机都有一个密钥。 客户记住与特定地址相关联的主机密钥,并且如果主机密钥似乎改变,则拒绝连接。 这可以防止中间人的攻击。

domain.com的主机密钥已更改。 如果这对你来说看起来不太可笑 ,你可以使用从本地caching中删除旧密钥

 $ ssh-keygen -R domain.com 

我强烈build议您考虑让用户使用密钥进行身份validation。 这样, ssh-agent可以为了方便而存储密钥材料(而不是每个人都必须input每个到服务器的连接的密码),并且密码不通过networking。

正如我以前在克隆git回购导致错误回答- 主机密钥validation失败。 致命:远程端意外挂断 ,将GitHub添加到授权主机列表中:

ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

我有类似的问题,但使用SSH密钥。 从Tupy的回答中,我发现问题是known_hosts文件不存在,或者github.com没有出现在已知主机列表中。 以下是我遵循的步骤来解决它 –

  1. mkdir ~/.ssh
  2. vim known_hosts – 如果你已经有了known_hosts ,可以跳过这个。
  3. ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
  4. ssh-keygen -t rsa -C "user.email"
  5. id_rsa.pub键添加到您的GitHubconfiguration文件的SSH密钥列表中。

我在新安装的系统上遇到同样的问题,但这是一个udev问题。 没有/dev/tty节点,所以我必须这样做:

 mknod -m 666 /dev/tty c 5 0 

如果你在办公室内部networking(否则危险),总是受到防火墙的保护,只需在你的〜/ .ssh / config

主机*
StrictHostKeyChecking no
UserKnownHostsFile =的/ dev / null的

这意味着您的远程主机密钥已更改(可能是主机密码更改),

您的terminalbuild议以root用户身份执行此命令

 $ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net] 

您必须从您的PC /服务器上的主机列表中删除该主机名称。 复制该build议的命令并以root用户身份执行。

 $ sudo su // Login as a root user $ ssh-keygen -f "/root/.ssh/known_hosts" -R [www.website.net] // Terminal suggested command execute here Host [www.website.net]:4231 found: line 16 type ECDSA /root/.ssh/known_hosts updated. Original contents retained as /root/.ssh/known_hosts.old $ exit // Exist from root user 

再试一次,希望这个工程。

我有类似的问题,不幸的是我使用了GitExtensions HMI,忘记了我写了一个密码。 用HMI …忘了它! 当您生成密钥时,请勿input密码!

您可以在Jenkinsfile中使用“https”URL格式的“git url”或任何你想要的地方。

git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'

对于我来说,我只需在提示符下input“yes”,询问“你确定要继续连接(是/否)?” 而不仅仅是按下Enter。

运行ssh -T git@github.com是所有我需要收到提示将github添加到我的已知主机。

好吧,我刚分叉回购,我想工作,然后使用…

这是我想要做的事情:

 npm install 'mtorromeo/vue-strap#vue2' 

然后我得到了这个带给我的错误:

 Host key verification failed. fatal: Could not read from remote repository. 

然后,我只是分叉回购,现在我可以使用:

 npm install 'emahuni/vue-strap#vue2' --save-dev 

我认为下一个合乎逻辑的步骤是同步上游:

 git remote add upstream https://github.com/mtorromeo/vue-strap.git 

所以当我做的时候,上游的变化被拉到本地。

 git fetch upstream 

😉

根据旧金山州立大学的网站 :

这或者意味着主机有一个新的密钥,指纹已经改变,或者说你是中间人攻击的受害者。 为了保护您,Mac OS X SSH客户端不会让您完成与该主机的连接,直到从您的计算机中删除旧密钥。 如果您确定主机密钥已更改(请参阅当前密钥的连接说明),请按照以下步骤删除旧密钥:

  • 在Applications> Utility文件夹中打开terminal。
  • 在terminal窗口中inputopen .ssh ,然后按Return键。
  • 这将打开包含文件known_hosts.ssh文件夹。 将known_hosts拖到垃圾箱中,然后closures.ssh文件夹。 closuresterminal。