当前位置:   article > 正文

git配置多个ssh

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 '你的邮箱地址'
  • 1

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

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

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

这样在~/.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
  • 1
  • 2

再创建github的ssh

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

最后一步,配置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的私钥文件地址
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

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

PubkeyAcceptedKeyTypes +ssh-rsa
HostKeyAlgorithms ssh-rsa
  • 1
  • 2

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

ssh -T git@company.com
ssh -T git@github.com
  • 1
  • 2

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/513994
推荐阅读
相关标签
  

闽ICP备14008679号