`
tinyhema
  • 浏览: 154341 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

git 使用ssh认证 提示Host key verification failed

 
阅读更多
问题描述

使用ssh认证模式,连接gitlab服务器,执行git pull报如下错误:

$ git pull
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
The RSA host key for gitlab.alibaba-inc.com has changed,
and the key for the corresponding IP address 10.10.31.61
is unknown. This could either mean that
DNS SPOOFING is happening or the IP address for the host
and its host key have changed at the same time.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /Users/xx/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/xx/.ssh/known_hosts:7
RSA host key for gitlab.xxx.com has changed and you have requested strict checking.
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.


解决方案
  • 1. 删除~/.ssh/known_hosts 文件中包含"gitlab.xxx.com"这一行的记录

  • 2. 删除~/.ssh/known_hosts整个文件

  • 3. 修改open ssh配置文件,安全级别调低(不推荐,仅限内网等安全级别较高的环境,公网不要使用)

  • SSH对主机的public_key的检查等级是根据StrictHostKeyChecking变量来配置的。可以通过降低安全级别的方式,来减少这一类提示。

    修改方法:
    编辑~/.ssh/config(代表个人配置,或/etc/ssh/ssh_config,代表全局配置)
    添加以下行
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null  # 为了更简化,把known_hosts也省略掉了
    



    下面附上StrictHostKeyChecking配置项的说明。
    • StrictHostKeyChecking=no 
    • 最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
    • StrictHostKeyChecking=ask 
    • 默认的级别,就是出现刚才的提示了。如果连接和key不匹配,给出提示,并拒绝登录。
    • StrictHostKeyChecking=yes 
    • 最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。



    分享到:
    评论

    相关推荐

      BernardoLi266#Blog#102_Git提示Host-key-verification-failed1

      title: Git提示Host key verification failed- 报错- 报错问题描述Git提示Host key verification f

      linux中GIT安装,及客户端使用SSH KEY密钥文件连接

      在Linux环境下使用GIT和SSH进行版本控制和远程仓库管理是一种常见的配置方式。本篇文章将围绕在CENTOS6操作系统中如何安装GIT,如何使用ssh-keygen命令生成SSH密钥,以及如何在Windows客户端上使用TortoiseGit加载...

      Git SSH key 生成教程

      Git SSH key 生成教程涉及的关键知识点包括Git的基础操作、SSH协议原理、SSH密钥对的生成和管理、以及Git客户端的配置。以下是详细知识点: 1. SSH Key(SSH密钥)的定义与作用: SSH(Secure Shell)是一种网络...

      git 通过ssh 进行认证连接.docx

      git 通过 SSH 进行认证连接 git 通过 SSH 进行认证连接是 Git 版本控制系统中...通过使用 SSH 协议和公钥认证机制,git 通过 SSH 进行认证连接可以提供身份验证、加密和数据 integrity 保证,保护团队成员的数据安全。

      git 同一托管平台 多个sshkey 配置小助手.exe

      解决的问题为 git 配置多个ssh key 我们配置好两个 sshkey 后 分别为两个 如果是 github.com gitlab.com gitee.com 这三个当然没有问题 开发此工具碰到的问题是 开发者碰到同一代码托管平台 来自多个账号的 sshkey ...

      win11 git\ssh 出现 /dev/null相关错误

      由于Git和SSH是开发者常用的工具,特别是在使用Git进行版本控制和SSH进行安全远程服务器连接时,这些问题对于开发者来说是非常重要的。在Windows平台上,可能会使用Git Bash或Windows Subsystem for Linux (WSL) 来...

      git的ssh互信

      总的来说,Git的SSH互信是建立在SSH协议基础上的安全认证机制,它使得开发者可以安全地与远程Git服务器进行交互,而无需每次操作都手动输入密码。通过合理配置,SSH互信可以极大地提升开发效率并保护代码仓库的安全...

      Git采用SSH协议创建远程仓库

      Git采用SSH协议创建远程仓库,并把本地工程上传到远程仓库

      git 通过ssh 进行认证连接.pdf

      Git 通过 SSH 进行认证连接是一种安全的版本控制系统与远程服务器交互的方式。这种方式允许开发者在不暴露密码的情况下,利用公钥/私钥对进行身份验证。以下是对这个主题的详细解释: 首先,确保你的系统已经安装了...

      git设置ssh和用户名邮箱

      本文将详细介绍如何在Windows环境下安装Git客户端,并通过一系列简单易懂的操作指南帮助你设置SSH密钥以及全局的用户名和邮箱,确保你可以顺利地使用Git进行代码管理。 #### 二、Git客户端安装 1. **下载与安装**...

      git中ssh key配置详解

      总结来说,配置Git的SSH Key是一个关键步骤,特别是对于频繁使用Git的开发者,它可以极大地提高工作效率,免去每次操作都需要输入密码的繁琐过程。正确设置SSH Key不仅方便,而且提高了安全性,因为你的密码不会在...

      使用SSH方式远程连接Git服务器.pdf

      完成上述步骤后,你的Git客户端已经配置好可以使用SSH方式与Gitee的Git仓库进行通信。现在,当你尝试拉取或推送代码时,系统会自动使用SSH密钥进行身份验证,而不需要每次手动输入用户名和密码。在“安全设置”的...

      jenkins 2.346.1 git maven ssh插件

      jenkins 2.346.1,jdk8 适用 git maven ssh插件

      git clone时报错问题解决

      在使用Git进行代码仓库克隆操作时,如果出现“sign_and_send_pubkey: signing failed: agent refused operation”的错误提示,意味着SSH代理拒绝了身份验证的操作。这通常发生在用户尝试通过SSH方式访问Git仓库时,...

      window_git_SSH.rar

      在Windows环境下,Git通常通过SSH协议来实现安全的版本控制通信。`window_git_SSH.rar`这个压缩包文件,结合其描述,显然包含了用于配置Windows上的Git SSH服务器所需的工具——`copSSH_4.10.zip`。CopSSH(Control ...

      git使用教程

      ### Git使用教程知识点详解 #### 一、Git简介与版本控制系统概念 - **Git定义**:Git是一款全球领先的分布式版本控制系统。它不仅高效且具备高度灵活性,被广泛应用于软件开发和文档管理等领域。 - **版本控制...

      webpack构建完成后自动推送到指定分支仅支持gitssh方式进行连接

      Webpack 是一个流行的 JavaScript 应用程序打包工具,它允许开发者将源代码转换成优化过的、生产就绪的静态资源。在 JavaScript 开发中,Webpack 的...同时,Git SSH 的使用确保了传输的安全性,避免了凭证泄露的风险。

      git配置ssh免密登录.doc

      git配置ssh免密登录.doc

      git SSH配置详细流程

      在Git版本控制系统中,SSH是一种常用的认证方式,它允许用户安全地访问远程服务器上的仓库。SSH配置的重要性在于,它确保了数据传输过程中的安全性,防止了未授权访问。 SSH配置通常涉及到生成密钥对,包括一个公钥...

      Git使用手册.pdf

      在本地生成SSH Key后,将其公钥添加到GitHub的SSH设置中。接着,可以在本地创建的仓库与远程仓库关联,通过`git remote add origin <远程仓库URL>`,然后使用`git push -u origin master`将本地的master分支内容推送...

    Global site tag (gtag.js) - Google Analytics