Git 配置多个 SSH-Key
大约 2 分钟
当有多个 git 账号时,比如:
a. 一个 gitee,用于公司内部的工作开发
b. 一个 github,用于自己进行一些开发活动
解决方法
- 生成一个公司用的 SSH-Key
ssh-keygen -t rsa -C '1353727504@qq.com' -f ~/.ssh/gitee_id_rsa
- 生成一个 github 用的 SSH-Key
ssh-keygen -t rsa -C '1353727504@qq.com' -f ~/.ssh/github_id_rsa
ssh-keygen -t rsa -C '1353727504@qq.com' -f ~/.ssh/aliyun_id_rsa
- 在 ~/.ssh 目录下新建一个 config 文件,添加如下内容(其中 Host 和 HostName 填写 git 服务器的域名,IdentityFile 指定私钥的路径)
# gitee
Host gitee.com
HostName gitee.com
HostkeyAlgorithms +ssh-rsa
IdentityFile ~/.ssh/gitee_id_rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
# github
Host codeup.aliyun.com
HostName gcodeup.aliyun.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/aliyun_id_rsa
- 用 ssh 命令分别测试
ssh -T git@gitee.com
ssh -T git@github.com
这里以 gitee 为例,成功的话会返回下图内容
遇到问题
Bad owner or permissions on .ssh/config的解决 当为本机配一个固定用户名远程登录某主机时,配置了一个config文件,但是在执行ssh免密码登录时报如下的错误:Bad owner or permissions on .ssh/config的解决
sudo chmod 600 ~/ssh/config