git配置多个ssh

前言

有的时候,我们在使用git的时候可能需要配置多个ssh,比如公司的ssh,github的ssh。如果重新ssh-keygen会导致原来的github上的ssh失效,所以需要考虑设置多个ssh。

一.ssh-keygen

多个ssh需要创建将ssh文件命名不同的名称,那么如何对ssh文件命名呢?
首先,定位到~/.ssh目录下,我的是windows系统目录是C:\Users\用户名\.ssh
一般的生成ssh都会采用下面的命令:

ssh-keygen -t rsa -C '你的邮箱地址'

按下回车键,在如下图输入文件名
ssh-keygen

Enter file in which to save the key后面输入你生成的ssh的文件名,文件名你可以自己命名。
或者直接使用以下命令

ssh-keygen -t rsa -C '你的邮箱地址' -f ~/.ssh/id_rsa_test

这样在~/.ssh目录下会找到id_rsa_test和id_rsa_test.pub文件。

二.创建流程

首先依据上面的ssh-keygen命令创建公司的ssh

// id_rsa_company是创建的ssh文件名,你可以自己定义
ssh-keygen -t rsa -C '公司邮箱地址' -f ~/.ssh/id_rsa_company

再创建github的ssh

ssh-keygen -t rsa -C 'xxx@qq.com' -f ~/.ssh/id_rsa_github

最后一步,配置config:

# xxx.company.com/
Host xxx.company.com/ # 代表公司的git代码仓库地址,如果访问不了建议去掉链接前面的'http'或者'https',只保留域名.
HostName xxx.company.com/
PreferredAuthentications publickey
PubkeyAcceptedKeyTypes +ssh-rsa # 如果出现Permission denied (publickey),可以尝试添加.
IdentityFile ~/.ssh/id_rsa_company
# github
Host github.com # 代表github的git代码仓库地址
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github

# IdentityFile代表生成ssh的私钥文件地址

如果出现Permission denied (publickey)问题,但是密钥也是正确的,可能是由于git导致的。git使用的OpenSSH从8.8版本由于安全原因开始弃用了rsa加密的密钥。可以尝试加上如下配置:

PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms ssh-rsa

最后用ssh -T命令验证下是否成功:

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

至此,整个创建多个ssh的过程到此结束。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
回答: 在使用git时,有时候我们需要配置多个ssh,比如公司的sshgithubssh。重新生成ssh-key会导致原来的github上的ssh失效,所以我们需要设置多个ssh。首先,我们可以使用ssh-keygen命令生成不同的ssh-key。比如,我们可以生成一个公司用的SSH-Key和一个github用的SSH-Key。生成公司用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa,生成github用的SSH-Key的命令是:ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa。接下来,在~/.ssh目录下新建一个config文件,并添加相应的配置信息。比如,我们可以添加以下内容到config文件中: # gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_id_rsa # github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/github_id_rsa 这样,我们就可以在使用git时,根据需要选择不同的ssh进行操作了。 #### 引用[.reference_title] - *1* [git配置多个ssh](https://blog.csdn.net/RQ997832/article/details/124638707)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [git创建多个SSH-Key](https://blog.csdn.net/qq_29235677/article/details/122616611)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Git配置多个SSH-Key](https://blog.csdn.net/lzqxz_/article/details/127365660)[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^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

rockyou666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值