当我们服务器需要对托管于 GitHub 的项目进行访问时,我们需要在项目设置中的 Deploy keys 添加服务器的公钥,当我们的服务器同时需要对另一个托管于 GitHub 项目访问时,添加相同的 Deploy keys 就会提示Key already in use
,这是由于,一个项目可以由多个不同的公钥,但同一个公钥不允许使用在多个不同的项目中,那么,我们应该如何通过 ssh 访问第二个仓库呢?
答案是我们使用不同的密钥对,首先,我们新生成一对名为 demo 的密钥
1 | $ ssh-keygen |
此时,我们的目标目录下就会新增 demo 和 demo.pub 两个密钥,然后再创建一个vim /home/robin/.ssh/config
文件,其中写入如下内容:
1 | Host demo |
chmod 600 /home/robin/.ssh/config
修改config文件权限,否则会出现Bad owner or permissions on /home/robin/.ssh/config
的错误
现在,我们还需要修改下项目的请求地址,在项目目录中执行vim .git/config
,修改其中的 url 参数,将其中的 github.com 替换为 demo,如将 [email protected]:ms/demo.git
修改为git@demo:ms/demo.git
。
Now, enjoy it!