git生成ssh公钥_Git 的这个神技,学会爽歪歪~

57654ac0e2cf48cfed9e31e587f02fd4.png

现在大多数公司都有 GIT 来管理代码版本控制了,既然用到 GIT,相信大家都接触过 Github、Gitlab、Gitee 这些远程仓库,或者是公司内部自行搭建的 GIT 仓库。

当用到 SSH 方式来连接 GIT 仓库的时候,难免会同时用到多个仓库,一般生成公私钥的默认配置文件为:

  • 私钥:C:Usersxxx.sshid_rsa
  • 公钥:C:Usersxxx.sshid_rsa.pub

那么问题来了,我先生成 Github 的,再生成 GitLab 的,那么后面配置的 Gitlab 的公私钥文件会覆盖前面配置 Github 的,从而导致 Github 仓库无法连接。。

这样的配置只能同时连接一种类型的仓库,如何在同一台电脑做到同时连接多个不同的仓库呢?

一、生成多个仓库公私钥

1、生成 Github 的:

ssh-keygen -t rsa -b 4096 -C “your_email@github.com“ -f ~/.ssh/github_id_rsa

2、生成 Gitlab 的:

ssh-keygen -t rsa -b 4096 -C “your_email@gitlab.com“ -f ~/.ssh/gitlab_id_rsa

后面有多个仓库都依此类推,用 -f 来指定不同的文件名称:xxx_id_rsa,从而区分不同的仓库类型,而不用担心被后面默认生成的覆盖。

二、将公钥添加到仓库里面

复制 xxx_id_rsa.pub 公钥文件里面的内容到对应仓库里面,以下 Github 示例:

cad7205257330b9d5fe51f7cf23aa802.png

三、添加 config 配置

~/.ssh 目录下创建 config 文件,添加以下内容:

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

# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa

# 多个依此类推
# ...

四、测试连通性

分别测试多个仓库的连通性,验证配置是否生效。

1、测试Github:

$ ssh -T git@github.com

2、测试Gitlab:

$ ssh -T git@gitlab.com

以下是 Github 连通示例:

$ ssh -T git@github.com
Enter passphrase for key '/c/Users/xxx/.ssh/github_id_rsa':
Hi javastacks! You've successfully authenticated, but GitHub does not provide shell access.

这样配置完,我们就能愉快的使用各种不同的仓库了~

关注我,分享更主流的 Java 技术~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了向Git服务器提供SSH公钥,你需要生成一对SSH公钥和私钥。具体步骤如下: 1. 确认是否已经拥有密钥,可以使用以下命令查看密钥: ``` ssh-keygen -l -f ~/.ssh/id_rsa.pub ``` 2. 如果你还没有密钥,需要生成一份。在Git命令窗口中,输入以下命令配置用户信息: ``` git config --global user.name "你的用户名" git config --global user.email "你的邮箱地址" ``` 3. 继续在Git命令窗口中输入以下命令,生成SSH公钥和私钥: ``` ssh-keygen -t rsa -C "你的邮箱地址" ``` 4. 生成成功后,你可以在`C:\Users\你的用户名\.ssh`目录下查看生成SSH密钥。你可以使用以下命令查看公钥内容: ``` cat ~/.ssh/id_rsa.pub ``` 通过以上步骤,你就可以成功生成并获取到你的SSH公钥了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [服务器上的 Git - 生成 SSH 公钥](https://blog.csdn.net/jerwey/article/details/107870952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [git如何生成ssh密钥 git生成配置ssh密钥key详细步骤](https://blog.csdn.net/beautifull001/article/details/125630765)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值