最近要在自动构建中加入个打tag的操作,却发现可能是gitlab的bug,之前加过的默认deploy key怎么都找不到了。没办法,只好在打包服务器上再创建一个SSH密钥对,让执行git命令时使用这个新的SSH密钥。
以下的示例假设我们要访问的git服务器地址为:gitlab.knktc.com 。
首先使用以下命令创建一个新的SSH密钥对:
1 | mkdir -p /home/knktc/gitlab_ssh_keys |
这个示例中,新的SSH私钥已经存储到了/home/knktc/gitlab_ssh_keys/id_rsa这个路径了。
然后在当前用户的根目录下创建ssh config文件:
1 | vim ~/ssh/config |
填入以下的配置:
1 | Host gitlab.knktc.com |
这个配置的意思是:如果使用ssh访问主机名为gitlab.knktc.com,则使用刚才新创建的密钥。
最后测试下clone项目:
1 | git clone git@gitlab.knktc.com:blog/knktc-com.git |
OK,已经成功了。
更多关于ssh config配置文件的细节,可参考:https://linux.die.net/man/5/ssh_config