Git 同时使用 Gitee 和 Github

本文详细介绍了如何在本地生成SSH公钥,包括配置Github和Gitee的不同需求,以及如何添加SSH公钥到对应的平台上,最后通过测试确保连接成功。

生成/添加 SSH 公钥

进入 /Users/你的用户名/.ssh/ 目录下。
执行以下命令生成:

$ ssh-keygen -t rsa -C "xxxxxxxxxx@xxx.com"

在冒号后面输入:id_rsa_github

第二遍配置 Gitee 时需要改成 id_rsa_gitee 和 Github 的区分开来。

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/liujing/.ssh/id_rsa): id_rsa_github

回车后会提示输入该密钥的密码。(直接回车跳过)

Enter passphrase (empty for no passphrase): 

二次密码确认同样回车跳过。

Enter same passphrase again: 

出现以下内容表示 SSH 密钥生成成功。

Your identification has been saved in id_rsa_test.
Your public key has been saved in id_rsa_test.pub.
The key fingerprint is:
SHA256:hUxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxV4 263xxxx631@qq.com
The key's randomart image is:
+---[RSA 3072]----+
|     .o     . .  |
|     .           |
|    o   . .      |
|     +   .       |
|    +  +S  .     |
|. ===.+ ... + .  |
|..+Eo+o..oo= o   |
|o+==OX ....#.    |
|*=+===+EoO.      |
+----[SHA256]-----+

以上是配置 Github,配置 Gitee 则大同小异,只需在生成密钥时把 id_rsa_gitee,目的是做好区分。


添加 SSH 公钥

使用命令查询 /Users/你的用户名/.ssh/ 目录,查看是否存在上一步生成的密钥。

复制 id_rsa_github.pub 文件中的公钥。

$ cat id_rsa_github.pub

打开对应平台的 SSH 公钥管理 Github SSH 公钥管理Gitee SSH 公钥管理

点击:新建公钥 >> 输入公钥标题 >> 粘贴上边复制的公钥 >> 点击保存


以上是配置 Github 的,配置 Gitee 只需复制 id_rsa_gitee.pub 中的公钥到 Gitee SSH 公钥管理中。


添加配置文件

.ssh/ 目录下新建一个名为 config 的文件。
用文本编辑器打开,并进行编辑,复制以下内容进行粘贴。

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

# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitee

测试连接

# 测试 Github 连接
$ ssh -T git@github.com
or
# 测试 Gitee 连接
$ ssh -T git@gitee.com

第一次连接需要添加到可信任列表

The authenticity of host 'github.com (13.250.177.223)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
ECDSA key fingerprint is MD5:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes ⬅️ 输入 yes 并回车

配置完成!

出现以下内容后,就证明添加成功,就可以使用 SSH 协议对仓库进行操作了。

# Github
Hi Yourname! You've successfully authenticated, but GitHub does not provide shell access.
or
# Gitee
Hi Yourname! You've successfully authenticated, but GITEE.COM does not provide shell access.

FQA

在使用 `ssh -T git@xxxxxx.xxx 时可能会出现以下问题

操作超时,可能是远程主机暂不支持 ssh 连接
ssh: connect to host 88.88.88.88 port 22: Operation timed out

不能输入 http / https,会识别不出来
ssh: Could not resolve hostname http://xxxxxx.xxx/: nodename nor servname provided, or not known

没有权限,请检查密钥对是否配置正常
git@88.88.88.88: Permission denied (publickey).
git@gitlab.com: Permission denied (publickey,keyboard-interactive).

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值