在一台服务器中生成多个公钥给多个项目使用

最近又有了重新给公司项目配webhooks来自动部署的想法。其实当初项目刚创建的时候我就部署过一次,但是我司前后端在码云上不在同一个组织中,服务器上默认生成的公钥被后端用掉了,在前端项目中使用就会提示“公钥已被使用”。所以生成其他公钥并且正常使用是很有必要的。

生成方法还是和生成默认公钥一样:

ssh-keygen -t rsa -C "me@zhaoyuxiang.cn"

按下enter,提示'Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa): ',需要给公钥命名,切勿与使用中的公钥重名而导致原先的公钥被覆盖。这里我们输入id_rsa_zyx

然后把公钥添加到ssh-agent中:

ssh-add id_rsa_zyx

如果出现提示‘Could not open a connection to your authentication agent’,则先执行以下命令:

ssh-agent bash

接着在托管项目的地方部署公钥id_rsa_zyx.pub

部署好之后重新回到服务器上,在~/.ssh目录中的config中配置:

Host zyx
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_zyx

特别要注意‘~’,不要打成中文输入法下的‘~’。

配置完之后就可以在服务器上使用SSH方式来clone代码了:

git clone zyx:wx-dev/weixue-h5.git

也可以通过一下命令来测试公钥是否成功部署完成:

ssh -T zyx