赞
踩
有的时候,我们在使用git的时候可能需要配置多个ssh,比如公司的ssh,github的ssh。如果重新ssh-keygen
会导致原来的github上的ssh失效,所以需要考虑设置多个ssh。
多个ssh需要创建将ssh文件命名不同的名称,那么如何对ssh文件命名呢?
首先,定位到~/.ssh
目录下,我的是windows系统目录是C:\Users\用户名\.ssh
一般的生成ssh都会采用下面的命令:
ssh-keygen -t rsa -C '你的邮箱地址'
按下回车键,在如下图输入文件名
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的过程到此结束。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。