Git配置多个SSH-Key
linux装了宝塔的,也和这个类似 唯一的区别就是.ssh在root文件夹里
按如下命令来生成需要的 sshkey:
Gitee
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/gitee_id_rsa
Github
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
这里的 xxxxx@xxxxx.com
只是生成的 sshkey 的名称,并不约束或要求具体命名为邮箱。
现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。
两个邮箱设置成一样的也可以的,本人试过了,没有什么问题
按照提示完成三次回车,即可生成 ssh key。如下图
在文件夹 C:Users自己电脑用户名.ssh查看gitee_id_rsa.pub文件内容,获取到你的 public key
然后复制内容在Gitee后台添加公钥,点击添加SSH公钥 – Gitee
Github的也是进去网站登录后,点击右上角头像,点击设置,选择ssh与gpg公钥
点击添加SSH 和 GPG 公钥 Github的
然后Gitee的就OK了。Github和其他的Git也是类似就不演示了。
接下来就是配置config文件,达到使用多个SSH的目的
在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
Host:比如Gitee的就是gitee.com。Github的是github.com,其他的也是类似比如Gitlab的是gitlab.com
HostName:和上面的host一模一样,都是主域名
IdentityFile:一般都是/.ssh/ 这个目录,比如:/.ssh/gitee_id_rsa 。.ssh是文件夹名,gitee_id_rsa是pub私钥文件的文件名,这个如果跟着上面的命令来 那就不用管。你要是把私钥改个名字或者挪到捏的地方也是可以的,改成对应的路径和文件名就可以。= =应该没人会这么无聊吧
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
# 其他got的配置 注释了,需要配置自己把下面的#号删了 填上对应的信息就好了
#Host 主域名
#HostName 主域名
#PreferredAuthentications publickey
#IdentityFile ~/.ssh/私钥文件名
最后用ssh命令分别测试
ssh -T git@gitee.com
ssh -T git@github.com
以gitee为例,成功的话会返回下图内容
emmmm大概就是这样了,从gitee官方文档看到的,自己试了下,整理下,给自己备忘。
官方文档少了一步添加到公钥的那个,可能是因为上一章就是添加公钥的原因,忽略了吧@.@
对我这个小白还是不友好的,我就自己把这一步加上了。