- 发布于
配置多个git-ssh-key对应不同域名
- Authors
- Name
- 田中原
配置多个git-ssh-key对应不同域名
目录
刚到公司是没有再重新配置ssh,导致了自己的github和公司gitlab提交的混乱。 这种情况我们可以分情况配置ssh。让后通过配置让ssh对应不同的域名。
1. 分别生成ssh-key
# gitlab对应
ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/gitlab-rsa
# github对应
ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/github-rsa
在~/.ssh/
目录会生成xxx-rsa
私钥和xxx-rsa.pub
公钥。 我们将xxx-rsa.pub
中的内容粘帖到公司gitlab服务器的SSH-key的配置中。
在创建ssh-key的时候会有提示
Enter passphrase (empty for no passphrase):
# 输入密码,可以为空
Enter same passphrase again:
# 再次输入确认
2. 将密钥加入到ssh-agent
ssh密钥管理器,ssh-agent命令是一种控制用来保存公钥身份验证所使用的私钥的程序
ssh-agent是用于管理密钥,通过ssh-add命令将两个将密钥加入到ssh-agent中,SSH可以和ssh-agent通信获取密钥,这样就不需要手工输入密码了。
ssh-add ~/.ssh/gitlab-rsa
ssh-add ~/.ssh/github-rsa
如果运行ssh-add
命令,遇到“Could not open a connection to your authentication agent.”提示。
需要ssh-agent启动bash,运行以下命令,然后再重新执行ssh-add
命令
3.创建并编辑config文件
cd ~/.ssh/
touch config
在config中写入配置,并保存
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab-rsa
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github-rsa
# gitee
Host gitee.com
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_id_rsa
# 配置文件参数
# Host : Host可以看作是一个你要识别的模式,对识别的模式,进行配置对应的的主机名和ssh文件
# HostName : 要登录主机的主机名
# IdentityFile : 指明对应的identityFile路径
4.测试是否生效
出现以下提示即为成功
The authenticity of host 'github.com (192.30.xxx.xxx)' can't be established.
RSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)?
//输入yes,按回车
Warning: Permanently added 'github.com,192.30.xxx.xxx' (RSA) to the list of known hosts.
Permission denied (publickey).