文章目录
前言
ssh 是根据邮箱地址生成,由于公司的邮箱账号和github私人邮箱账号不同,在同一台电脑上,需要配置不同的ssh key
一、ssh key是什么?
SSH是专为远程登录会话和其他网络服务提供的安全性协议。用git 管理仓库时,我们需要用到ssh的登录方式连接远程服务器。基于秘钥的验证方式,可免密登录。
基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把公用密钥(Public key)放在需要访问的目标服务器上,另外,还需要把私有密钥(Private key)放到SSH的客户端或对应的客户端服务器上。
私钥不能在网络中传输-----私钥可以解密公钥
公钥可以在网络中传输-----公钥不能解密私钥
二、多个ssh key配置步骤
1.查看本地ssh key,检查是否已生成过
> cd ~/.ssh
> ls
本地有3个文件:(之前用公司邮箱生成的ssh key)
- id_rsa – 私钥
- id_rsa.pub – 公钥
- known_hosts
2.生成新邮箱地址的ssh key
【id_rsa_xxx】 为自定义命名文件::
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "新邮箱地址"
一路回车,会看到生成2文件,id_rsa_github和id_rsa_github.pub
3.创建config文件,根据不同host配置不同的ssh key
cd ~/.ssh
vim config
分别为公司Host和github host配置ssh key文件
#company
Host compony.com
HostName company.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
4.到github官网去add ssh key
- id_rsa_github.pub内容复制
- github上的settings --> add keys
- 粘贴key,title随便写
三、在单个项目中配置用户(name+email)
在项目目录执行,查看git配置信息
cat .git/config
添加用户配置
[user]
name = xxx
email = [email protected]
总结
至此就能用不同的账号,管理不同git服务的项目了~