Window 下同时配置Gitee、Github 的 SSH 公钥

同时配置 gitee, github 公钥

参考地址:http://www.manongjc.com/detail/22-cutqnazacuuwcop.html

清除 git 的全局设置

如果已经配置Git,需要先清除git 的全局设置,如果没有就跳过这一步。
git config --global --list 查看是否设置

删除设置

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

创建 ssh key

.ssh文件位置:C:\Users\用户名\.ssh

cd ~/.ssh # 进入 .ssh 文件夹下
ssh-keygen -t rsa -C "github邮件地址" -f id_rsa_github
ssh-keygen -t rsa -C "gitee邮件地址" -f id_rsa_gitee

完成后会在~/.ssh / 目录下生成以下文件

id_rsa_github
id_rsa_github.pub
id_rsa_gitee
id_rsa_gitee.pub

在 Github 和 Gitee 中添加 public key

分别复制 .ssh 下的 id_rsa_github.pub 和 id_rsa_gitee.pub 中的内容到以下网址添加 ssh 公钥

https://github.com/settings/keys

https://gitee.com/profile/sshkeys

创建配置文件 解决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

测试连接是否正常

ssh -T git@github.com
ssh -T git@gitee.com

添加多个 github 账号

原文地址:https://gist.github.com/jexchan/2351996

同样在 .ssh 文件夹下生成 keygen,注意,id_rsa_github_xxx 为你要起的名字

ssh-keygen -t rsa -C "github邮件地址" -f id_rsa_github_xxx

同样把 .ssh 文件夹下新生成的 pub 文件添加到 github ,然后修改 config 文件为以下

# github
Host github.com-用户名
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

Host github.com-用户名
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github_xxx

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

测试连接是否正常

ssh -T git@github.com-用户名

重点:设置仓库的 remote 的 url 为 ssh 连接,而不是 http,查看远程 url

git remote -v
# origin https://github.com/xxx
# origin https://github.com/xxx
# upstream https://github.com/xxx
# upstream https://github.com/xxx

把以上远程地址修改为 ssh ,ssh 地址语法:ssh://git@github.com/仓库地址.git

例如我的仓库地址为:https://github.com/Chao-SuperStudio/SuperRename,那么就按以下的命令设置

git remote set-url origin ssh://git@github.com-chao-research/Chao-SuperStudio/SuperRename.git

接下来使用 git push 等命令就无需使用 Windows 的用户凭据进行登陆了

注意:测试连接需要加上你的用户名

ssh -T git@github.com-用户名
ssh -T git@gitee.com

问题

Connection Timeout port 22

绝大部分是网络原因

参考:https://zhuanlan.zhihu.com/p/107334179

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值