前言

本文是为了tortoisegit 使用ssh方式推送和拉取远程仓库代码。
阅读本文需要的前提知识:git、tortoisegit的基本操作和概念。

一 概念

1.1两种秘钥格式

有两个密钥格式:a.OpenSSH格式的密钥 b.PuTTY格式的密钥。
从从使用来看,是互通的加密,仅格式不同

openSSHPutty
文件私钥:id_rsa 文件
公钥:id_rsa.pub
私钥: .ppk文件
公钥:id_rsa.pub
(ppt = Putty Private Key)
说明都是OpenSSH格式的密钥ppk文件是Putty的私钥

1.2 加密对应关系

本节内容为作者方便理解而自定的概念

加密方式本地远程
openSSH 单一openSSH私钥
id_rsa
openSSH公钥
id_rsa.pub
mixed 混合PuTTY私钥
ppk
openSSH公钥
id_rsa.pub
ppk私钥
SSH私钥
本地PuTTY私钥
文件:*.ppk
本地使用 openSSH私钥
文件:id_rsa
openSSH
远程openSSH公钥
文件:id_rsa.pub
混合

二 使用PuTTY 产生两种秘钥 (openSSH 和 ppk)

2.1 两种加密

  1. 远程都是openSSH私钥
  2. 本地分 openSSH私钥和ppk私钥
使用方文件内容
–远程公钥 一种–
网站
远程
id_rsa.pubgithub等网站需要这个文件中内容
文件内容开头为: ssh-rsa XXXXXXXXXXX
–本地私钥 两种–
tortoisegit使用ppk私钥*.ppktortoisegit使用的私钥 ppk(例如:puttykey.ppk)
git命令行使用openSSH私钥id_rsa固定名称, git等本地使用的私钥

2.2 Generate 产生各种公钥私钥

  1. puttygen.exe 程序
  2. 点击generate
  3. 保存公钥 直接复制上面窗口中的文本(ssh-rsa)–>id_rsa.pub
  4. Conversion --> Export SSH Key --> id_rsa 私钥
  5. 点击按钮 save private key --> *.ppk私钥 (tortoisegit使用)
  6. 经过下图中的步骤 将得到 ①私钥id_rsa ② 私钥ppk ③公钥id_rsa.pub 都保存到 c:\用户\用户名.ssh 目录
步骤图解说明
1请添加图片描述puttygen 程序
C:\Program Files\TortoiseGit\bin\puttygen.exe
2在这里插入图片描述点击“Generate”,在对话框上晃动鼠标加快生成
3在这里插入图片描述将红框中的内容拷贝到一个文件 id_rsa.pub中,作为公钥

注:文本框上面写着Public OpenSSH key表明您正在拷贝的是公钥
注2:远程服务器使用的是公钥
4在这里插入图片描述点击菜单:Conversions – Export OpenSSH key 导出文件 id_rsa 作为私钥
注:这里表明了Export OpenSSH key
5在这里插入图片描述点击按钮Save private key:导出 ppk文件作为私钥

三 使用公钥私钥 配置本地和网站

3.0 说明

  1. 远程网站使用 openSSH公钥
  2. 本地小乌龟tortoisegit使用 ppk

3.1配置网站的openSSH

1
在这里插入图片描述
点击 + New Key 将公钥的内容复制到网站上
内容开头为:ssh-rsa 见2.2表中的第3项
2在这里插入图片描述复制操作

3.2 操作-本地先有代码和仓库,然后再推送到远程仓库 (我的项目推到服务器)

  1. 创建本地仓库Create repository here),并commit本地代码
  2. 再建立远程仓库(此时远程必须是空的,连readme都不能有)
  3. 在本地填写远程的路径信息 + ppk文件位置
  4. 推送 “AutoLoad ppk key”
0.在这里插入图片描述创建本地的git仓库,并commit代码
1.在这里插入图片描述创建远程仓库。
注:远程仓库要为“空”,不要有readme和gitignore等文件
这些文件在本地仓库准备
1.1在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
项目-repo-clone-ssh 复制 得到远程URL
2.在这里插入图片描述设置仓库文件夹的远程连接
鼠标右键–>tortoisegit–>setting–>remote
a.将远程的路径放在URL 和 Push URL中
b.将PuttyKey 选入路径 (ppk私钥)
点击添加
2.在这里插入图片描述第一次提交要勾选 自动加载ppk

3.3 操作-远程已经有仓库,拉取 (服务器的代码,我拉下来)

  1. 产生好Key (如 2.2中的方法)
  2. 设置好远程的openSSH (如 3.1中的方式)
  3. clone代码,如下图填写信息 远程仓库URL 本地路径Directory 勾选Load PuttyKey 并选中用户/.ssh目录中的ppk文件

在这里插入图片描述

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐