【经验】Git|Windows下如何管理和部署多个Git账号的SSH密钥文件

生成 SSH 密钥

先打开一个git窗口,生成ssh密钥

如果打开的不是git窗口,而是cmd窗口,则需要先切换到C:\Users\用户名\.ssh目录下。

下面这条指令的your_emailyouremail.com可以随便写。

ssh-keygen -t rsa -C "your_email@youremail.com"

指令运行的过程中会要求填写生成的密钥文件的名称,任意填写即可,比如填写gitee_rsa,如下图所示。
在这里插入图片描述

查看生成的密钥

然后,查看刚刚生成的密钥
每台电脑都有一个正在使用电脑的用户。比如我的电脑的用户名是12524
不出意外的话,在系统盘的用户目录下有.ssh文件。

C:\Users\12524\.ssh

在这里插入图片描述
会看到id_rsa/id_rsa.pub这两个刚才生成的密钥文件。其中id_rsa.pub文件中的内容就是SSH公钥,用记事本打开它。
在这里插入图片描述

填写密钥

点击码云Github的设置页面,转到SSH密钥的配置。
下面以码云为例。
在这里插入图片描述
随便起一个标题,然后把id_rsa.pub的内容粘贴到公钥中去。再点击确定。

配置本地 config 文件

配置格式:

Host two.gitee.com
HostName gitee.com
PreferredAuthentications publickey
User Two
IdentityFile ~/.ssh/id_rsa

Host后面填写你用来链接仓库时的名称,HostName后面写网址,PreferredAuthentications publickey照抄,User后面任意填写,意思是用户的名字,IdentityFile后面填写刚刚生成的密钥的文件路径。
(如果看不懂,没关系,先看下一节——如何使用这些配置去连接和部署仓库)

我自己的配置文件内容如下。
在这里插入图片描述

测试配置是否正确

首先,你可以测试一下配置是否正确,
假设你的Hosttwo.gitee.com,那么:

ssh -T git@two.gitee.com

正常情况下,会显示:
在这里插入图片描述

添加config(全局或本仓库)

如果以前已经配置过了,只是为了配置多个账号的git,这步也需要稍微注意。
因为这一步是用来告诉Git,作者的身份。对于多人共同使用的电脑,如果每个仓库有不同的作者,那么就应该针对仓库设置不同的config。

如果是第一次用,那么这步是必需的,如果不设置,则Git将会提示:

Author identity unknown

*** Please tell me who you are.。

当然,这个设置个假的,也没事。

全局config示例如下:

git config --global user.name "shandianchengzi"
git config --global user.email "xxxx@xxx.com"

只在本仓库添加时,只需去掉--global即可。

连接远程仓库

然后就可以git remote add连接到远程仓库了。

可以先用git remote -v检查一下当前目录下有没有链接别的仓库,如果有链接就先用git remote remove移除。

注意,用git remote add连接远程库的时候,也是用的Host中填的东西。

git remote add origin git@two.gitee.com:yourName/repositoryname.git

其中git@two.gitee.com:yourName/repositoryname.git是克隆仓库的时候对应的那个路径,注意将gitee.com修改为自己填写的Host即可。
在这里插入图片描述

然后就能愉快地git push了。

有多个账号的时候,只要保证Host互不相同即可

注意,Linux下这些密钥的文件权限要是700,Windows下是778

cd ~/.ssh && chmod 700 * # Linux
cd ~/.ssh && chmod 778 * # Windows
posted @ 2021-09-23 19:40  shandianchengzi  阅读(9)  评论(0编辑  收藏  举报  来源