问题

在使用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. python 3.6 的 venv 模块

    今天,在在使用 pycharm 的使用,进行创建 python的时候,发现使用默认的创建的选项使用的python 3环境 .而我系统默认的python环境是 python 2.7 环境:这就引起了我的 ...

  2. [Errno 256] No more mirrors to try 解决方法

    安装tree时遇到问题yum [Errno 256] No more mirrors to try 解决方法: 1.yum clean all 2.yum makecache 3.yum update ...

  3. python基础学习24----使用pymysql连接mysql

    使用pymysql连接mysql 安装pymysql pymysql安装可以通过两种方式 使用pip安装 首先简单说一下pip的使用方法 获取帮助 pip --help 升级 pip pip inst ...

  4. SpringBoot部署

    Spring Boot 部署到服务器 jar 形式 1.打包 若我们在新建Spring Boot 项目的时候,选择打包方式是 jar,则我们只需要用 mvn package 就可以进行打包. 2.运行 ...

  5. 1、爬虫简介与request模块

    一 爬虫简介 概述 近年来,随着网络应用的逐渐扩展和深入,如何高效的获取网上数据成为了无数公司和个人的追求,在大数据时代,谁掌握了更多的数据,谁就可以获得更高的利益,而网络爬虫是其中最为常用的一种从网 ...

  6. 在react中使用intro.js的的一些经验

    react逐渐热了起来,但是新的东西毕竟前辈的经验少一些,前段时间自己在react中用到intro.js时,得到的资料甚少,摸索后便将一些心得记录下来了~ 1 intro.js的引入,这一点请看上一篇 ...

  7. 四、 git关联远程仓库及推送

    接之前笔记,在 github上建立与本地同名的仓库 demo 关联远程仓库 1. https 模式     远程库的名字就是origin,这是Git默认的叫法 git remote add origi ...

  8. php 数据集转换树、递归重组节点信息多维数组(转)

    一.将数据集转换成树 /** * 将返回的数据集转换成树 * @param array $list 数据集 * @param string $pk 主键 * @param string $pid 父节 ...

  9. 利用 share code 插件同步代码片段

    利用 Settings Sync可以同步 VS code 配置,但它只能同步插件,利用  Settings Sync 再配合 share code 插件可以同步自定义代码片段,可以把 VS code ...

  10. Docker技术入门与实战 第二版-学习笔记-8-网络功能network-2-相应配置

    1) 快速配置指南(详细使用下面会讲) 其中有些命令选项只有在 Docker 服务启动的时候才能配置,而且不能马上生效 下面2个命令选项既可以在启动服务时指定,也可以 Docker 容器启动(dock ...