问题

在使用Git与tortoisegit的时候,指定远程版本库的地址有2种方式:

  1. 使用https方式的git地址非常直接(https://xxx.oschina.net/xxx.git),基本上什么都不需要配置,不管是git bash还是tortoisegit都能完美使用,但是每次需要连接远程服务器时,都要提示我输入用户名与密码,非常不爽;
  2. 使用ssh方式的git地址非常爽快(git@git.oschina.net:xxxx/xxx.git),不需要输入密码,但是需要配置。

第一种方式没啥说的,第二种方式的应用,我配置的时候出现了一个问题:

配置了tortoisegit的putty后,直接用tortoisegit可以不输入密码直接完成操作;但是当我使用git bash的时候,使用git pull之类的命令还需要我输入密码...

P.S. 别说我闲的,有tortoisegit为啥还用git bash。实际上,使用git bash在有的操作上还是挺方便的(比如删除分支 git push origin :branchx)。

那怎么弄才能让这2个小家伙都不输入密码呢?

这里又有两种办法...

  1. 调整tortoisegit的settings中的network选项,将tortoisegitplink.exe改成git安装目录的下bin\ssh.exe。如果先前用ssh-keygen.exe配置好了git下的ssh话,改完就能直接用,没配置好的话...等下说。
  2. 默认安装tortoisegit,会使用PuTTY(plink)作为默认的ssh方式,声称对windows集成更好,如果不想改这种方式的话,就只能让git的ssh.exe使用PuTTY的密钥了,tortoisegit继续使用PuTTY。

注意:tortoisegit可以自动载入putty key,使用puttygen程序可以生成对应的公钥与私钥。

解决方法

我先前已经配置好了PuTTY,只是bash中的openssh不能用,于是我采用第二种方式。公钥是相同的,需要转换一下私钥。

定位putty的ppk文件,用puttygen(在tortoisegit目录里面)打开(conversions>import key)

然后点击conversions>export openSSH key,保存文件为id_rsa文件,不要拓展名。

然后再点击下面的save public key按钮,保存为id_rsa.pub文件,效果如下:

找到自己%home%下(~)的.ssh文件夹,一般windows 7以后的在c:\用户\“自己的用户名”下面。没有的话,可以新建。

把刚才的两个文件扔进去。打开git bash,执行命令,如下图。

跳转到自己的版本路径,执行git pull,命令行再也不提示密码了...再试试tortoisegit,依然也不提示要密码。

这样实际相当于配置了一回git的ssh,让openSSH与putty使用相同的密钥,git bash使用openssh连接,而tortoisegit使用PuTTY连接,谁也不碍着谁。

实践指南

依据自己的喜好,为了不重复输入用户名与密码,可以选择兼用PuTTY与OpenSSH或者只用openSSH

*兼用openSSH与PuTTY*

1.配置tortoisegit的PuTTY:http://my.oschina.net/longxuu/blog/141699

2.确认tortoisegit可以正常使用PuTTY,可以按照上面解决方法的步骤配置openSSH以供git bash使用。

*只用openSSH*

1.使用git bash,输入ssh-keygen.exe –t rsa –C “自己的email”

2.如果不想输密码的话,一路回车,程序会自动生成.ssh/下面的id_rsa和对应的pub文件

3.打开id_rsa.pub文件,将内容全部复制

4.在版本控制的网站(例如oschina),在个人资料里面,SSH公钥,新添一个公钥,将刚刚的东西贴进去。

5.可以参照http://git.oschina.net/oschina/git-osc/wikis/%E5%B8%AE%E5%8A%A9#ssh-keys进行验证

6.调整tortoisegit的settings中的network选项,将tortoisegitplink.exe改成git安装目录的下bin\ssh.exe。

7.在对应项目的文件夹上右键,点击tortoisegit下的settings,定位到remote

8.修改对应的url为SSH地址,putty key定位到id_rsa文件,如下图

9.测试tortoisegit,没有错误,则大功告成~

在git与tortoisegit中使用openSSH与PuTTY的更多相关文章

  1. 在Git.oschina.net中配置TortoiseGit使用sshkey,无需输入账号和密码

    ssh的方式 git@oschina.com:用户名/版本库t.git           此篇文章针对于这种 黄海正在开发的项目位置 https://gitee.com/dslx/BigData.g ...

  2. Git Manual / Git使用手册 / Git, GitLab, Git Bash, TortoiseGit (建议全文复制到Word文档中通过导航窗格查看)

    Git使用手册 目录 1     引言 2     Git.GitLab简介 2.1      Git 2.2      GitLab 2.3      Git基本概念 3     运行环境 4    ...

  3. Git/Github + TortoiseGit 使用教程

    前言 Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理. 在github上有很多优秀的项目,一个伟大的学习宝库.本文分享使用tortoisegit对github/ ...

  4. 删除本地git版本库中受版本控制的文件

     git乱码解决方案汇总 乱码原因 搜索一番,发现git文件名.log乱码,是普遍问题,这其中有编码的原因,也有跨平台的原因.主要原因是Windows 系统中的Git对中文文件名采用不同的编码保存所致 ...

  5. 关于git配合tortoiseGit的基础使用

    一定要自己写出来才能牢记,所以我来写一下 git确实比svn好用的多了,最起码只有一个文件夹用来标记版本信息比svn所有文件夹下都要放一个文件夹来标记版本信息先进多了,不然你不想要版本管理这些文件的时 ...

  6. Git客户端TortoiseGit(Windows系统)的使用方法

    本文环境: 操作系统:Windows XP SP3 Git客户端:TortoiseGit-1.8.8.0-32bit 一.安装Git客户端 全部安装均采用默认! 1. 安装支撑软件 msysgit: ...

  7. git配合tortoiseGit的基础使用

    转载自:http://www.cnblogs.com/ssor/archive/2012/02/04/2337823.html 一定要自己写出来才能牢记,所以我来写一下 git确实比svn好用的多了, ...

  8. Git在tortoiseGit以及eclipse的使用方法

    一.Git安装与简单使用 1.安装git,tortoiseGit 2.创建SSH Key 打开Git Bash,然后输入ssh-keygen生成公钥和私钥: 3.生成ppk文件. 打开puttykey ...

  9. Windows下搭建Git 服务器: BONOBO GIT SERVER + TortoiseGit

    本文将介绍如何在Windows操作系统下搭建Git服务器和客户端.服务器端采用的是Bonobo Git Server,一款用ASP.NET MVC开发的Git源代码管理工具,界面简洁,基于Web方式配 ...

随机推荐

  1. MySQL案例08:MySQL Scheduler Events带来的风险

    定时任务是我们开发.运维人员经常用到的,比如cron,job,schedule,events scheduler等都是为了方便我们重复执行某项工作而无需人工参与而设计,这里我要说的是MySQL数据库本 ...

  2. MySQL优化之Explain命令解读,optimizer_trace

    简述: explain为mysql提供语句的执行计划信息.可以应用在select.delete.insert.update和place语句上.explain的执行计划,只是作为语句执行过程的一个参考, ...

  3. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置

    system.webServer节点下加上 <validation  validateIntegratedModeConfiguration="false" />

  4. [Spark Core] Spark 在 IDEA 下编程

    0. 说明 Spark 在 IDEA 下使用 Scala  & Spark 在 IDEA 下使用 Java 编写 WordCount 程序 1. 准备 在项目中新建模块,为模块添加 Maven ...

  5. 【转】Mysql学习---MySQL悲观锁中的排它锁

    [原文]https://www.toutiao.com/i6595305814087434760/ 悲观锁中的排它锁. 排它锁关键字:for update 特点:会锁住行或者表,防止其他事务进行修改操 ...

  6. NoSQL数据库的认识

    SQL数据库和NoSQL数据库介绍 什么是SQL数据库? 关系型数据库是依据关系模型来创建的数据库.而所谓的关系模型就是“一对一.一对多.多对多”等关系模型,这是一种二维表格模型,因此一个关系型数据库 ...

  7. Mysql学习第二天

    Mysql语句执行 用户登录与管理 mysql -uroot -p -hlocalhost test # 指定登录test数据库 mysql -uroot -p -hlocalhost company ...

  8. SQL 性能不佳的几个原因

    •不准确的统计数据•差劲的索引•差劲的查询设计 •差劲的执行计划,通常是由不正确的参数引起的•过度阻塞和死锁 •非基于集合的操作•不良数据库设计 •过度碎片 •不能重复使用执行计划 •查询频繁重编译 ...

  9. ArcGIS Earth1.9最新版安装和使用教程

    1.下载ArcGIS Earth 官网下载地址:https://www.esri.com/en-us/arcgis/products/arcgis-earth 在这个网页的最下面填上信息,就可以下载了 ...

  10. 第二次项目冲刺(Beta版本)

    第二次项目冲刺(Beta版本) 团队作业7--第二次项目冲刺(Beta版本)day1 http://www.cnblogs.com/wj946/p/8017787.html 团队作业7--第二次项目冲 ...