背景通常我们有使用 Github、Gitlab,当 Github 或 Gitlab 下有多个账号,你会发现你的 ssh key 不够用了,因为站点会给你个提示:
ssh key already in use github这个时候我们可以采用如下做法
生成多个公钥/私钥对对不同的域名配置不同的私钥实操生成多个公钥/私钥对ssh-keygen -t rsa -C "你的邮箱"用不同的邮箱创建不同的公钥/私钥对
添加私钥ssh-add '私钥路径'ssh-add 提示并将用户的使用的私钥添加到由ssh-agent 维护的列表中. 此后, 当使用公钥连接到远程 SSH 或 SCP 主机时,不再提示相关信息
创建配置文件在 .ssh 目录创建 config 文件,配置如下内容
# gitlab Host git.iboxpay.com HostName git.iboxpay.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa# github Host github2.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/feygh# github Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id_rsa这个配置文件中 Gitlab 下的 ssh 通信都走 id_rsa 公钥加密,所以你在 Gitlab 仓库中要复制 id_rsa 这个公钥过去;值得注意的是,这里有两个 Github 配置,仔细观察下 HostName 都是 github.com,但是 Host 不一样,这就是关键之处。
...