在win10上临时使用多个git账号进行pull或push操作

引言

因为上传代码到远程仓库的时候需要秘钥进行验证是否本人上传的。而系统默认只读取id_rsa,为了让ssh识别新的私钥,可以使用ssh-agent手动添加私钥。
1、使用git注册邮箱生成新的SSH秘钥(你的电脑与GitHub或Gitee通信的安全连接)

# 在git bash执行如下命令
ssh-keygen -t rsa -C "[email protected]"    # [email protected]该邮箱账号为注册Git账号的邮箱
# 提示你是否需要重新设置一个秘钥名称(自定义),输入一个名称后按回车。我这里是 id_rsa_2
Enter file in which to save the key (/z//.ssh/id_rsa): id_rsa_2  # 回车 
# 按照提示要输入两次密码,但是如果输入了,每次操作git库时都要输入密码,所以可以选择不输入密码
Enter passphrase (empty for no passphrase)# 输入仓库密码 切记密码不要输错了(不输密码为空也行)
Enter same passphrase again: # 再次输入密码

2、查看秘钥文件,下面表示我的win电脑设置了两个git账号秘钥,其中一个就是刚新生成的id_rsa_2,说明生成新秘钥成功了

# 在git bash执行如下命令
ll ~/.ssh
total 14
-rw-r--r-- 1 jima1999 197121 1675  41  2021 id_rsa   # 私钥文件1 默认读取id_rsa
-rw-r--r-- 1 jima1999 197121  398  41  2021 id_rsa.pub   # 公钥文件1
-rw-r--r-- 1 jima1999 197121 2622 1019  2022 id_rsa_2     # 私钥文件2
-rw-r--r-- 1 jima1999 197121  582 1019  2022 id_rsa_2.pub     # 公钥文件2
-rw-r--r-- 1 jima1999 197121  756 1228  2021 known_hosts

3、在github或者Gitee上添加SSH key(上传公钥)

# 将目录下的.ssh/id_rsa_2.pub里的内容全部复制,公钥内容都是以ssh-rsa开头,以注册的git邮箱名称结尾的
cat ~/.ssh/id_rsa_2.pub

在这里插入图片描述
接着访问登录 http://git.oschina.net/(开源中国码云Gitee)或者https://github.com/(github),点击SSH公钥,标题栏可以随意输入,公钥栏把你刚才复制的内容粘贴进去就OK了。
开源中国Gitee设置如下: 设置 —>安全设置 —>SSH公钥 —> 添加公钥 自定义一个标题,然后把刚复制的公钥粘贴到公钥处,点击确定 即可。如下图:
在这里插入图片描述
4、接下来就可以切换使用临时的git账号了

# 在git bash执行如下命令
ssh-agent bash
ssh-add ~/.ssh/id_rsa_2    # id_rsa_2 为配置的第二个秘钥文件名

5、测试,出现下面一行提示则表示ok了

ssh -T [email protected]
Hi XXX! You've successfully authenticated, but GITEE.COM does not provide shell access.
# 后面就可以在当前窗口 git clone git pull git push 了
# **注:以上方法仅限当前窗口有效,打开新的窗口则ssh连接失败。**

在这里插入图片描述
注:以上方法适用于已经有git账号能成功对远程仓库进行git push或git pull等操作情况下的。如果是Windows电脑第一次配置Git账号,则是会出错的,还需要指定用户名和邮箱让GitHub或Gitee知道是谁进行git push或git pull等操作。

# 在 git bash 下执行以下命令
git config --global user.name "Your Name"  # github对应的登陆用户名
git config --global user.email "[email protected]"  # github对应的邮箱地址
git config --global credential.helper store    #永久化存储

猜你喜欢

转载自blog.csdn.net/qq_34125713/article/details/127550853