Git同时使用多个 ssh key
解决本地多个ssh key问题
对于使用多个不同的git服务器的情况,按照常规方式,每次生成ssh key时会都覆盖上一次生成的id_rsa文件,所以为了不覆盖,采用指定id_rsa文件名的方式。
1. 第一步依然是配置git用户名和邮箱
git config user.name "username"
git config user.email "email"
2. 生成ssh key时同时指定保存的文件名
ssh-keygen -t rsa -f ~/.ssh/id_rsa.osc -C "your email"
上面的id_rsa.osc就是我们指定的文件名,这时~/.ssh目录下会多出id_rsa.osc和id_rsa.osc.pub两个文件,id_rsa.osc.pub里保存的就是我们要使用的key。
3. 新增并配置config文件
添加config文件
如果config文件不存在,先添加;存在则直接修改
touch ~/.ssh/config
在config文件里添加如下内容(User表示你的用户名),以下为一组
HOST *gitee.com
IdentityFile ~/.ssh/id_rsa.oscUser test #此配置可以省略
5. 测试ssh key是否配置成功
ssh -T git@gitee.com
成功的话会显示:
Welcome to Gitee.com, JR!
至此,本地便成功配置多个ssh key。日后如需添加,则安装上述配置生成key,并修改config文件即可。
设置SSH使用HTTPS的403端口(未遇到,未验证)
在局域网中SSH的22端口可能会被防火墙屏蔽,可以设置SSH使用HTTPS的403端口。
测试HTTPS端口是否可用
ssh -T -p 443 git@gitee.com
编辑SSH配置文件 ~/.ssh/config 如下: 1 2 3 | Host github.com Hostname ssh.gitee.com Port 443 |
1 2 3 | $ ssh -T git@github.com Hi username! You've successfully authenticated, but GitHub does not provide shell access. |