zoukankan      html  css  js  c++  java
  • TortoiseGit的SSH Client是个坑

    前言

    现在比较流行使用git来进行代码的管理,公司内部一般使用gitlab来搭建Git服务器(中央服务器),而我们需要在自己的电脑上安装git(本地git服务器),并安装一个TortoiseGit客户端。我们可以使用SSH或者HTTPS(HTTP)两种协议来操作中央服务器上的repository。

    问题

    1:当通过SSH协议方式操作中央服务器上的repository时,出现以下问题;问题的大概意思是:没有可用的支撑验证方法(服务器发送公钥)

    2:我们都知道如果要使用SSH协议来操作github或者gitlab上的repository时,需要在本地电脑上使用git命令生成一对公钥和私钥,然后把公钥配置到github或者gitlab里,私钥在本地电脑上存放(不会设置可以查看《设置github使用的SSH key》);这样一来用SSH协议操作中央服务器上的repository时,就不用再输入账号和密码来进行验证,而是git自动使用公钥和私钥进行对比,从而验证身份(重点:git使用本地的私钥和中央服务器上的公钥进行对比)。我们打开TortoiseGit上的Settings,查看Settings里的Network,会发现如下图:ssh client使用的是TortoiseGit的命令行工具,而不是git的命令行工具,所以这个TortoiseGitPlink.exe找不到私钥在哪里,并不会发送给中央服务器和公钥做对比。(直接用git的bash命令行来操作repository就没有这个问题的存在)

    3:修改TortoiseGit的Settings里的NetWork如下图,换成使用Git自己的ssh命令行工具

    4:再次操作中央服务器上的repository,成功

  • 相关阅读:
    C#泛型使用小记
    Unity3d + NGUI 的多分辨率适配
    CodeSmith(1 生成实体)
    从数据库读取数据Table后转成对应的实体泛型方法
    安卓data./data没数据的时候
    Java工具
    SqlBulkCopy 用法
    Wind7 64位配置安卓环境
    .net和c#下的自定义配置
    Log4Net可以根据不同的类容输出到不同的文件夹下面
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302412.html
Copyright © 2011-2022 走看看