前提:
1、安装了Git
2、配置了全局用户和邮箱,如果没有配置全局用户,则在Git Bash依次执行以下两条命令
//设置全局用户和邮箱
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
一、生成单个SSH key
1、查看是否已经生成过SSH key
在用户目录下,看是否有.ssh文件夹(需要设置显示隐藏文件),位置:~/.ssh

如果有就备份一下,将这里的删除
2、生成秘钥
使用以下命令,其中rsa代表是用rsa加密
ssh-keygen -t rsa -C '你的邮箱'
按3个回车,密码为空。最后会在.ssh下得到两个文件id_rsa(私钥)和id_rsa.pub(公钥)
3、添加私钥到SSH(此步骤其实可以省略)
ssh-add 私钥文件名
ssh-add ~/.ssh/id_rsa
如果之前生成SSH key的时候设置了密码,此处也就会让输入密码,没有设置,回车即可
4、添加ssh公钥到github或者码云或者公司的git上,这要添加的是id_rsa.pub里面的公钥。
添加请看:GitHub、码云Gitee添加公钥SSH key
5、测试
ssh git@github.com 或者 ssh git@gitee.com

二、配置多个SSH key
适用场景:当有多个git账号时,比如:一个gitee,用于公司内部的工作开发; 一个github,用于自己进行一些开发活动;
1、生成一个码云用的SSH key
ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
按3个回车,密码为空。最后会在.ssh下得到两个文件gitee_id_rsa(私钥)和gitee_id_rsa.pub(公钥)
2、生成一个GitHub用的SSH key
ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
按3个回车,密码为空。最后会在.ssh下得到两个文件github_id_rsa(私钥)和github_id_rsa.pub(公钥)
3、在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
# 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

4、添加私钥到SSH(此步骤其实可以省略)
ssh-add ~/.ssh/gitee_id_rsa
ssh-add ~/.ssh/github_id_rsa
5、添加ssh公钥到github或者码云或者公司的git上,添加请看:GitHub、码云Gitee添加公钥SSH key
码云添加的是gitee_id_rsa.pub里面的公钥
GitHub添加的是github_id_rsa.pub里面的公钥。
6、测试
用ssh命令分别测试
ssh -T git@gitee.com
ssh -T git@github.com
有警告没事,输入yes即可
7、如果到这里还没有成功,就使用--debug调试看
//debug调试
ssh -vT git@gitee.com
ssh -vT git@github.com
-v 是输出编译信息,然后根据编译信息去解决问题
本文详细介绍如何生成和配置SSH Key,包括单个和多个SSH Key的生成过程,以及如何在GitHub、码云等平台上添加公钥。适用于需要在不同Git账号间切换的开发者。
3843

被折叠的 条评论
为什么被折叠?



