昨天完成了迁移,迁移时也换了新的gitlab账户,并绑定了新的ssh。更新博文后发现hexo d命令总是错误,原因是github的permission处于denied的状态,猜测一定是ssh的问题。
由于按照网上给出的ssh生成命令进行,一路回车,等于对id_rsa文件的命名采取了默认状态,导致github在获取rsa的时候引起了错乱。
那么优雅的使用github和gitlab的方法就是命名两个不同的rsa文件分别进行绑定,然后用config文件来做配置区分。
步骤一: 生成密钥
首先要在~/ssh/目录下操作,直接把文件生成在本文件夹下。
gitlab密钥
|
|
这时候生成的是一对名为id_rsa和id_rsa.pub的公私密钥文件。
github密钥
|
|
这时候生成的是一对名为id_rsa_github和id_rsa_github.pub的公私密钥文件。
~/.ssh/ 目录下生成以下文件:
|
|
分别将 id_rsa.pub 和 id_rsa_github.pub 内容复制到 gitlab 或 github 的 ssh key 中。
新建config文件
|
|
注意这里Host后面一定要写上 .com,不然hexo d的命令还是会失败。
测试连接
使用ssh -T git@gitlab.com测试gitlab的连接,使用ssh -T git@github.com测试github的链接。
会在 ~/.ssh/ 目录下自动生成 known_hosts 文件。
此时,我们就能分别维护gitlab和github的项目了。