一、 git配置多个ssh-key
应用场景:同一台电脑,有多个git账号,最常见的场景是
- 公司git账号:testName1,服务器域名:git.company.com
- 私人git账号1:testName2,服务器域名:gitee.com
- 私人git账号2:testName3,服务器域名:code.aliyun.com
这个时候就需要用到多git账号管理
解决方案:
(一)生成公司git账号的密钥:
ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/company_id_rsa
(二)生成私人git账号1的密钥:
ssh-keygen -t rsa -C 'xxxxx@yourself.com' -f ~/.ssh/gitee_id_rsa
(三)生成私人git账号2的密钥
ssh-keygen -t rsa -C 'xxxxx@yourself.com' -f ~/.ssh/aliyun_id_rsa
(四)在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)
Host company
HostName git.company.com
User testName1
IdentityFile ~/.ssh/company_id_rsa
Host gitee
HostName gitee.com
User testName2
IdentityFile ~/.ssh/gitee_id_rsa
Host aliyun
HostName code.aliyun.com
User testName3
IdentityFile ~/.ssh/aliyun_id_rsa
保存后不会立即生效,需要添加一下,命令如下:
ssh-add ~/.ssh/company_id_rsa
ssh-add ~/.ssh/gitee_id_rsa
ssh-add ~/.ssh/aliyun_id_rsa
如果执行ssh-add命令报这个错误的话:
Could not open a connection to your authentication agent
先执行这条命令:
eval `ssh-agent`
再执行上面的ssh-add命令。
然后可以通过ssh的测试连接命令进行测试,命令如下:
ssh -T git@git.company.com
ssh -T git@gitee.com
ssh -T git@code.aliyun.com
当服务器返回与你打招呼的语言,那恭喜你,说明你配置成功啦!
如果出现错误提示,如:
Permission denied (publickey)
则请检查是否按照如上操作正确配置,请仔细检查!希望能帮你解决这一问题。
二、取消 SSH 私钥密码
进入~/.ssh
目录,执行ssh-keygen -f id_rsa -p
,其中id_rsa是需要修改私钥的名称,执行后会先输入旧密码,然后两次回车,不输入新的密码,则当前私钥的密码被清除,同时这个操作是可以修改当前私钥的密码。