目录 [hide]

git是个好东西,tortoisegit也是个好东西。在Windows下使用tortoisegit用的比较多,而对命令行的时候比较少。

对于tortoisegit可以支持使用密钥有两种,一种是支持openssh的密钥,一种是支持putty的密钥。但是这两种不同,对于Linux的ssh一般都使用openssh,但是没关系,我们可以转换。

使用putty的密钥

我们来看看这样方式,在安装TortoiseGit的时候其实会让你选择默认使用的ssh客户端,默认情况下是使用TortoiseGitPlink这个客户端。

指定ssh的客户端为TortoiseGit

生成putty密钥

在安装tortoisegit的时候,默认还会安装有Puttygen.exe这个程序,这个程序是可以生成putty密钥的。

点击Generate按钮后会按一个进度条,然后鼠标不断在该程序内动,目的是生成一些随机数。

我第一次使用鼠标傻傻的不动,然后进度条非常的缓慢,我想这个东西生成一个密钥那么慢?原来是我打开的方式不对。

putty密钥生成

点击save private key保存putty的私钥,putty的密钥的后缀名是ppk。

在服务器上添加openssh公钥

我们在上面创建了putty的密钥对,现在需要将生成的公钥添加到服务器上。

其实这里也可以把公钥添加到github.com上,也是可以使用的。 putty生成的公钥是和openssh的的公钥是相同的,他们只是私钥不同

假设刚刚生成的公钥是

1
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key

登录到服务器的需要添加公钥的用户名下,比如user1这个用户名。

1
2
3
4
5
6
cd /home/user1/
mkdir .ssh                   #如果这个目录不存在
touch .ssh/authorized_keys   #如果这个文件不存在
chmod 600 .ssh/authorized_keys  #设置一下文件的权限
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAi1vfwiNbamTPUOSpEWvQDYrefFcuPkUuZe5Y6r4l/xEAv7e9f5QDr6QEo215r2qBBnuixAgzpjZPSvr7S51qinuq6EyXm4kFGIW6B/L4zVjx5DKxofTno39xe58QQnAixoHNN9ccNhetcxEjp7gORo1k7AMuMuQY7V/6aekiOPfh6QsWuUMf6HZhZMqpu3q3xAqHlmOU5emAif4bQKZFghEYOftHZH+E+Yo+ed65KtOJ+V5PjPxD6RMGfx3A7MhsV5PXDijD7yu0b33r+mEDLoqRO1RDQUoviryBbuE4Gcu63a3J8+3GifXbrXOHzlMipAYtHxHjg5XuLGENlEmodw== rsa-key" \
    >> .ssh/authorized_keys    #这个和上面是同一行的

注意:公钥在authorized_keys的文件形式是一行一个公钥,切记。否则该公钥不起作用。

在tortoisegit上使用密钥

公钥已经添加到服务器去了,接下来就是在客户端上设置密钥了。

git clone的时候使用,如下设置:

git clone设置putty私钥

这样就可以搞定了。

putty密钥与openssh密钥转化

如果你有putty的私钥了,但是想在ssh客户端下使用openssh的私钥,再去生成一个openssh的密钥对比较麻烦(能偷懒就偷懒嘛)。

  1. 点击Conversions菜单项中的Import key
  2. 选择一个putty的私钥或者openssh的私钥
  3. 点击save private key保存为putty的私钥
  4. 或者点击菜单Conversions->Export OpenSSH Key保存为openssh的私钥

SSH登录一直失败

如果SSH登录一直失败,看看是否权限会有些问题?参考ssh密钥登录失败

相关资料

  1. OpenSSH密钥对的生成
  2. 在命令行下使用多个OpenSSH私钥
  3. tortoisegit下载
  4. windows下的git下载

http://www.chenyudong.com/archives/tortoisegit-use-key-authentication.html

tortoisegit使用密钥连接服务器(转)的更多相关文章

  1. 【WinSCP】WinSCP 5.x使用密钥连接服务器

    在WinSCP 4.x中,主页面有一个添加密钥文件的选项,如下图所示 但是在WinSCP 5.x中主界面发生了很大的变化 在主页上没有了载入密钥文件的选项,那么我们应该怎么使用密钥验证呢? WinSC ...

  2. 阿里云堡垒机密钥连接ECS服务器

    文:铁乐与猫 2017-6月中旬 堡垒机远程桌面windows系统就不用细说了 堡垒机远程ssh连接linux系统倒要说一下,毕竟是为安全一般只用通过密钥连接,而不使用密码的方式连接. 首先我们得在需 ...

  3. Mac 使用 SSH 免密连接服务器

    1.生成 SSH 秘钥 ssh-keygen -t rsa  生成的密钥对 id_rsa 和 id_rsa.pub,默认存储在 ~/.ssh 目录,其中没有后缀的是私有,有后缀 .pub 的为公钥.生 ...

  4. SSH 学习记录及在SSH模式下使用XShell连接服务器

    传统的网络服务程序,如rsh.FTP.POP和Telnet其本质上都是不安全的:因为它们在网络上用明文传送数据.用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击 ...

  5. python paramiko模块:远程连接服务器

    1.  SFTP基于 用户名密码 登录服务器,实现上传下载: import paramiko transport = paramiko.Transport(()) # 生成trasport,配置主机名 ...

  6. python中使用paramiko模块并实现远程连接服务器执行上传下载

    paramiko模块 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 因此,如果需要使用SSH从一个平台连接到另外一个平台,进行一系 ...

  7. RSA加密算法和SSH远程连接服务器

    服务器端与客户端的密钥系统不一样,称为非对称式密钥系统 RSA算法的基础是模运算x mod n,事实上: [(a mod n) + (b mod n)] mod n = (a+b) mod n [(a ...

  8. VS code 远程连接服务器步骤

    ①安装VS code,并连接远程服务器(本地也需要有ssh).参考 ②免密钥登录设置,参考 具体步骤:WIN+R -->cmd, 输入ssh-keygen,然后一直Enter,最终生成公钥和私钥 ...

  9. 使用paramiko如何连接服务器?

    本文和大家分享的是python开发中使用paramiko连接服务器的方法和步骤,希望通过本文的,对大家学习和使用paramiko有所帮助. ssh连接步骤 1.ssh server建立server p ...

随机推荐

  1. 【Cocos2d-x】源代码分析之 2d/ui/Widget

    从今天開始 咱也模仿 红孩儿这些大牛分析源代码 ,因为水平有限 不正确之处欢迎狂喷.哈哈. #ifndef __UIWIDGET_H__ #define __UIWIDGET_H__ #include ...

  2. 在mac os下编译android -相关文章

    1. Mac OS X下编译Android源码 http://blog.csdn.net/bulreed/article/details/22783467 2.MAC OS 编译 Android源代码 ...

  3. 机械革命X5(MECHREVO MR-X5)开包检验

    不废话.直接的问题,左右X5没有更具体的信息.为了通过有机会了解后续的选择,具体的数据被释放约: 首先看包装: 1.快递包裹,基于卖方这可以是不同的,包装各不相同 watermark/2/text/a ...

  4. 使用 WPF 创建单实例应用程序

    一个简单的例子就是大家在使用很多应用程序,例如在使用Microsoft Word 时会遇到一种情况,不管你打开多少个文档,系统一次只能加载一个winword.exe 实例.当打开新文档时,文档在新窗口 ...

  5. Cocos2d-x场景功能描述的生命周期

    层(Layer)的生命周期函数有例如以下: init().初始化层调用. onEnter().进入层时候调用. onEnterTransitionDidFinish(). 进入层并且过渡动画结束时候调 ...

  6. 基于高性能的硬件配置Nginx

    Nginx高级配置将涉及硬件,假设你配置不好,直接使各种性能下降. 我这里总结一下.怎样依据server的硬件设备来配置Nginx. 见下图: 低訪问量的网络,能够这样配置. 标准的网络訪问量,能够这 ...

  7. CocoStudio学习资源

    CocoStudio安装包及实例project:http://www.cocoachina.com/bbs/read.php?tid=154886 CocoStudio视频教程系列:http://mo ...

  8. VS2015在对GIT的支持

    VS2015在对GIT的支持 相比VS2013,VS2015在对GIT的支持上有了更强大的支持.本篇仅作抛砖引玉,不做过多介绍: 1. 打开VS 2015起始页 2. 打开团队资源管理器 打开[本地G ...

  9. Android技术——切换视图(两)随着ViewPage达到Tab幻灯片浏览

    Android技术--切换视图(一)~(四)在资源项目:https://github.com/YongYuIT/MeiNv_Liulanqi 一.早期android(android.support.v ...

  10. 《Javascript权威指南》13号学习笔记:使用日期和时间

    一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date();  //以当前日期和时间创建实例. ...