实战经验:在Git中使用SSH密钥
Git中普遍使用SSH密钥进行代码的提交。今天来讲讲如何在Linux和Windows下配置SSH密钥登录Git仓库。
1. Linux
1.1 配置Git仓库用户名和邮箱
# git config –global user.name ‘YourName’
# git conifg –global user.email ‘YourEmail’
1.2 生成SSH密钥
# ssh-keygen -t rsa -C ‘YourEmail’
执行上述指令后,会生成一对密钥对,一个是私钥(id_rsa),一个是公钥(id_rsa.pub)。私钥是需要自己保存到本地的,公钥则需要上传到Git网站。
1.3 将生成的密钥对中的公钥(id_rsa.pub)上传至Git网站。密钥名称可以随意填写,最好填写有意义的名称,例如标识提交代码机器的名称,如:MyOfficePCKey。密钥内容则需要粘贴id_rsa.pub文件的全部内容。可以通过如下的方法查看id_rsa.pub 文件的内容。
# cat ~/.ssh/id_rsa.pub
1.4 测试SSH密钥配置是否成功
# ssh -T git@YourGitServerIP
出现如下的内容表示SSH密钥配置成功:
Hi there, You’ve successfully authenticated, but Gogs does not provide shell access.
If this is unexpected, please log in with password and setup Gogs under another user.
2. Windows
在Windows平台我们通常会使用TortoiseGit这样的图形化工具。以下是TortoiseGit的SSH密钥配置方法。
2.1 使用puttygen生成SSH 密钥对

2.2 保存私钥到文件private.ppk
2.3 保存公钥到文件public
2.4 上传公钥到Git 网站
注意,这里在上传的时候,需要截取public文件中的公钥内容,而不是全部的文件内容。例如,我生成的public文件内容是:
—- BEGIN SSH2 PUBLIC KEY —-
Comment: “rsa-key-20180314”
AAAAB3NzaC1yc2EAAAABJQAAAQEAm4RW9slnT/Gz9Ww3QgFwjBbl/PuamddGpHS3
p1be3r89o9NGrZpxQsfW84+5Lqlgw9IVHZNC0DuJfiVusXRgKuB26QxKrUg9s/xI
YYta1lLo2jyjwzS+x8AC4ae68xudjrB1Tv/bZ5LDzVcUA3IC4DYSCdNyZtm2VsP+
edD2rmA17RhhBeVz6CdOpZGMSjI/nqp9Mzmh/8iQAdzbwkRvXS/bmSKIXDKNchkH
yR7u2Sn70BkeVsfSKu1nOblQbINdjQjmRTSk6CX9MjgoP0rBCWTKZKcg620uiC2A
7hNW001VHcirZZX68E5i2nTjUoINqChkVpVf32e5W2a2VAujlw==
—- END SSH2 PUBLIC KEY —-
则需要上传的内容为:
AAAAB3NzaC1yc2EAAAABJQAAAQEAm4RW9slnT/Gz9Ww3QgFwjBbl/PuamddGpHS3
p1be3r89o9NGrZpxQsfW84+5Lqlgw9IVHZNC0DuJfiVusXRgKuB26QxKrUg9s/xI
YYta1lLo2jyjwzS+x8AC4ae68xudjrB1Tv/bZ5LDzVcUA3IC4DYSCdNyZtm2VsP+
edD2rmA17RhhBeVz6CdOpZGMSjI/nqp9Mzmh/8iQAdzbwkRvXS/bmSKIXDKNchkH
yR7u2Sn70BkeVsfSKu1nOblQbINdjQjmRTSk6CX9MjgoP0rBCWTKZKcg620uiC2A
7hNW001VHcirZZX68E5i2nTjUoINqChkVpVf32e5W2a2VAujlw==
2.5 公钥上传完毕之后,就可以使用TortoiseGit来克隆仓库了,注意在克隆的时候,需要选择之前保存在本地的私钥文件private.ppk,如下图所示:

总结,本文介绍了在Linux命令行和Window图形化系统下的SSH密钥访问Git仓库的配置方法。使用密钥登录,可以免去每次都输入用户名密码的麻烦,但是需要注意的是,SSH私钥文件需要妥善保存,防止泄露。
相关推荐
- 在单选按钮上实现双击效果
- Posted on 01月01日
- 第 1076 期:微软工程师解释了为什么 Windows 7 有时候需要 30 秒才能显示桌面
- Posted on 09月23日
- 为什么高级选项对话框的每个勾选框后面会有ON和OFF?
- Posted on 05月22日
- 第 391 期:联想的 Legion Go 第二代将搭载 SteamOS 操作系统
- Posted on 12月19日



评论已关闭。