Git安装及SSH Key管理之Windows篇

一、安装环境

1、本机系统:Windows 10 Pro(64位)
2、Git版本:Git-2.11.0-64-bit.exe(64位)

二、Git安装

官网下载完后一路下一步完成安装,如下图:

安装完后先在系统环境变量中看下是否配置

然后在桌面右击鼠标,选择Git bash here,然后输入下面代码:

git --version #验证git是否安装成功,输出版本号就代表安装成功

如下图:

安装完成有配置一下全局的用户名和邮箱,输入如下命令:

git config --global user.name "自定义用户名"
git config --global user.email "邮箱"

使用如下命令可以取消全局设置:

git config --global --unset user.name
git config --global --unset user.email

三、Git生成单个SSH key及管理生成的多个SSH Key

1、生成单个SSH Key,输入下面的命令【命令说明

ssh-keygen -t rsa -C "[email protected]"

生成单个SSH Key时可以连续回车,不输入密钥文件名字和密码

生成后会在【C:\Users\用户名.ssh】下产生两个文件,如图:

2、管理git生成的多个ssh key
问题说明
当有多个git账号的时候,比如一个github,用于自己进行一些开发活动,再来一个gitlab,一般是公司内部的git。这两者你的邮箱如果不同的话,就会涉及到一个问题,生成第二个git的key的时候会覆盖第一个的key,导致必然有一个用不了。

解决方法
我们可以在【~/.ssh】目录下新建一个config文件配置一下,就可以解决问题

具体步骤

  • 生成第一个ssh key(这里我用的是github的邮箱)
ssh-keygen -t rsa -C "[email protected]"

进入【C:\Users\用户名.ssh】,点击鼠标右键-选择Git bash here,这一步很重要,不然在下面输入密钥名称的时候,会将密钥生成在当前打开git bash的路径下,比如我在桌面打开的git bash,就会生成在桌面上,当然也可以在输入名称前将路径补全。如下图:

这里我没有一路【回车】而是给生成的密钥命名为【id_rsa_github】,下面连续两次回车,没有给密钥设置密码(看个人需求)

  • 生成另一个ssh key(这里我用的公司邮箱)
ssh-keygen -t rsa -C "[email protected]"

生成后的文件如下图所示:

  • 执行ssh-agent命令

ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程

  • 添加私钥
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitlab

在执行上面的添加私钥命令时,如果出现如下错误:

解决方法如下:
1、输入如下命令查看已开启的ssh-agent线程

ps aux | grep ssh

执行如下命令杀死线程:

kill -9 线程号

进入用户名目录下的.ssh目录,打开git bash,执行如下命令

exec ssh-agent bash
eval ssh-agent -s
ssh-add ./id_rsa_github

在执行【ssh-add ./id_rsa_gitlab】将第二个私钥添加进去

  • 创建并修改config文件

1、创建config文件,将文件创建在【.ssh】目录下
①在windows下新建一个txt文本,然后将名字改成config(包括.txt后缀)
②在git bash下,直接touch config即可创建一个config文件

2、编辑config文件,修改如下内容:

# gitlab
Host gitool.glanway.com
HostName gitool.glanway.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
User yangjie

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User yangjie

配置文件说明:
每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostNameIdentityFile两个属性即可
Host的名字可以取为自己喜欢的名字,不过这个影响git相关命令
例如:
Host mygithub 这样定义的话,命令如下,即[email protected]后面紧跟的名字改为mygithub
git clone [email protected]mygithub:PopFisher/AndroidRotateAnim.git
就相当于你配置的HostName真正的域名,映射成了Host后面的配置的名字

HostName                      #这个是真实的域名地址
IdentityFile                  #这里是id_rsa的地址
PreferredAuthentications      #配置登录时用什么权限认证--可设置publickey,password publickey,keyboard-interactive等
User                          #配置使用用户名

【注意】不要在配置文件中添加下面这样的注释

HostName git.glanway.com //这里填你们公司的git网址即可

这种注释在读取该配置文件时会导致报错,不被识别

3、将公钥添加到github和gitlab上
4、测试
看到如下输出表示配置成功

ssh -T [email protected]          #测试github
ssh -T [email protected]   #测试gitlab

转载自:
作者:指間的Coding
链接:http://www.jianshu.com/p/a3b4f61d4747
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

时间: 2024-11-08 18:52:56

Git安装及SSH Key管理之Windows篇的相关文章

Git安装及SSH Key管理之Mac篇

1.下载git客户端,下载地址为:https://git-scm.com/download/mac 2.打开安装包,可以看到此时的界面为: 我们需要把.pkg的安装包安装到系统当中.我双击了安装包之后,结果无法安装成功.界面为: 这里是一个坑,虽然是很简单的问题的,但是对于新手而言有时候还是头疼的.后来,在网上终于找到原因,由于这个需要权限,所以直接点击安装是无法成功的.方式是按住control键之后,再点击pkg文件.这个时候会弹出安装程序的界面.如 所示.然后选择打开,就可以完成安装了. 3

windows服务器搭建gitblit环境及github多用户的ssh key管理

// 因为项目需要,要搭建git服务器,顺便解决了ssh key的问题,做个笔记 一.windows服务器搭建gitblit 1.下载java http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html (先装了java9,启动gitblit.cmd报错,又换成了1.8.1的jdk) 报错如下,没懂〒▽〒 java.lang.ClassCastException: java.base/jd

Git安装配置及基本使用(windows)

http://www.open-open.com/lib/view/open1428900970330.html 安装git 1)windows 安装msysgit,下载地址:http://msysgit.github.io/ 安装的时候,基本选择默认设置,但是: 在Adjusting your PATH environment页,勾选Run Git from the Windows Command Prompt 2)ubuntu 用命令“git --version”查看是否已安装,且版本为1.

解决git本地多ssh key的问题

最近手上一个项目需要使用到一台服务器作为专用的部署服务器,在实施过程中遇到了一些问题,具体如下: 1. 服务器的ssh默认端口和项目git仓库的ssh端口不一致 2. 部署需要使用项目提供的ssh key,不能使用服务器本身的默认ssh key 这些问题都被顺利解决了,这里特记录一下,防止遗忘. 针对上述问题,下面主要从这三个点来记录解决方案. 如何生成ssh key 如何使用特定ssh端口从git仓库拉取项目 如何使用特定密钥文件从git仓库拉取项目 一.生成 ssh key 系统默认的ssh

【转】同一台电脑关于多个SSH KEY管理

原文链接 http://yijiebuyi.com/blog/f18d38eb7cfee860c117d629fdb16faf.html 使用环境:关于同一台电脑LInux系统下使用多个SSH key 切换使用(或者多用户使用ssh提交代码) 要求,可以创建不同的 PUBLIC KEY ,根据下面步骤设置. (1)比如有aaa,bbb,ccc 三个帐号需要生成不同的 PUBLIC KEY $ ssh-keygen -t rsa Generating public/private rsa key 

【Git学习】SSH key 和 Git 多账户配置

转载请注明:http://blog.csdn.net/lrs123123/article/details/46917981 可能很多人用Git会遇到这样一个问题,在公司电脑使用了Git,然后回到家之后发现git用不了 原因很简单,你需要配置你这台电脑的git秘钥,这也是本篇要介绍的内容 本篇讲的是通过ssh去拿git项目,所以我们需要去配置SSH 秘钥 首先,来到命令行,输入git ,出现像如下界面,说明你的git环境正确 接下来,我们先告诉Git我们的名字还有邮箱  自报家门 接下来,我们需要

关于 git 本地创建 SSH Key 遇到的一点问题(①file to save the key & ②the authenticity of host...)

背景 由于想测试一下 SSH Key 创建的路径(.ssh 目录路径)对于不同位置 git 项目是否有效. 比如,.ssh 默认在 C:\[users]\[username] 目录下,而项目 project 在 D:\ 目录.测试结果是依然有效,即 .ssh 在 C:\[users]\[username] 目录下时,在其他位置 push 时无需进行密码认证(测试时项目以 SSH clone). PS:测试前已经将远程仓库托管平台公钥配置好. 事件1(file to save the key) 在

How to generate an SSH key pair in Windows using PuTTY?

You can generate an SSH key on Windows using the PuTTY SSH client. You can download PuTTY for free from this URL. To generate a key with PuTTY, you should: Download and start the puttygen.exe generator. In the "Parameters" section choose SSH2 DS

git - Mac生成SSH key

步骤1.检查是否已经存在SSH Key 打开电脑终端,输入以下命令: ls -al ~/.ssh 会出现两种情况 步骤2. 生成/设置SSH Key 继续上一步可能出现的情况 (1)情况一: 终端出现文件id_rsa.pub 或 id_dsa.pub,则表示该电脑已经存在SSH Key,此时可继续输入命令: //将公钥放到剪切板 pbcopy < ~/.ssh/id_rsa.pub 这样你需要的SSH Key 就已经复制到粘贴板上了,然后进行步骤3 (2)情况二: 终端未出现id_rsa.pub