`
tinyhema
  • 浏览: 152758 次
  • 性别: 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

      git+ssh ubuntu 安装配置笔记

      ### git+ssh Ubuntu 安装配置笔记 #### 一、服务器端配置 ##### 环境准备 在开始之前,请确保您的Ubuntu系统版本为12.04,并且已拥有root权限。 **步骤1:安装Git** 使用命令行工具安装Git及Git核心组件: ```...

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

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

      git关于ssh的学习

      一、Git SSH Key 生成步骤 在使用 Git 时,需要配置 SSH,以便与远程服务器进行通信。下面是生成 SSH 密钥的步骤: 1. 查看是否已经有了 SSH 密钥:`cd ~/.ssh` 如果没有密钥则不会有此文件夹,有则备份删除 2. ...

      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密钥进行身份验证,而不需要每次手动输入用户名和密码。在“安全设置”的...

      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是一款全球领先的分布式版本控制系统。它不仅高效且具备高度灵活性,被广泛应用于软件开发和文档管理等领域。 - **版本控制...

      jenkins 2.346.1 git maven ssh插件

      jenkins 2.346.1,jdk8 适用 git maven ssh插件

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

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

      git配置ssh免密登录.doc

      git配置ssh免密登录.doc

      把本地现有的 代码通过ssh(git) 推送到 远程仓库

      ### 把本地现有代码通过SSH (Git) 推送到远程仓库 #### 一、前言 随着版本控制系统的普及,Git 成为了软件开发过程中不可或缺的一部分。对于初学者来说,掌握如何将本地代码推送到远程仓库是一项必备技能。本文将...

      git小乌龟及配置ssh

      4. 在TortoiseGit的设置中,配置SSH客户端为`ssh.exe`,通常位于Git安装目录的`bin`子目录下。 配置完成后,你可以开始享受TortoiseGit带来的便利,比如: - 直接在文件或文件夹上右键,使用“Git提交”来提交代码...

      gitBash 客户端 ssh 服务器远程登陆

      1. **生成SSH密钥对**:首先,你需要在GitBash中使用`ssh-keygen`命令生成一对SSH密钥。默认情况下,这会在`%USERPROFILE%\.ssh`目录下创建id_rsa(私钥)和id_rsa.pub(公钥)文件。 ```bash ssh-keygen -t rsa ...

    Global site tag (gtag.js) - Google Analytics