这两天,想通过Github Pages来搭建一个自己的Blog。过程中需要用到SSH。因为公司项目使用的是Gitlab,所以之前其实两者通过一个config,已经可以进行共存了。但是最近💻升级到macOS Serria后,发现原先的配置失效了。ssh -T git@github.com,一直显示xxxx deniedxxxxx。按照Github的官网指南来讲,这是,没有配置好。于是又走了一遍流程。ssh -T git@github.com。再次成功了。
然并卵!!!!
重启💻的我表示很受伤。配置在此失效了。可能配了个假config。于是,继续流程,再重启,再失效。
先扯扯配置的过程吧。Github和Gitlab使用SSH共存。如果二者是使用同一个邮箱,那OK,没有任何大问题,可以共享一个SSH。不过这种使用同一个邮箱的,机率还是比较少的。因此需要额外的一个配置文件。
即~/.ssh目录下的config,若不存在,则新建一个touch config。
之后,将下述内容给补充进去。
|
|
之后——
|
|
此时要将github和gitlab的key都加进去。加完之后,ssh-add -l。会看到两个已加入的RSA。
一般来说,如果是macOS Serria以下的版本,那么到这里基本就是成功了。如果你和我一样都是macOS Serria,重启之后,还是失效。那就还要多两步。
之前使用ssh-add -K,这是会把RSA的密码存储至keychain里面来着,但是,在macOS Serria,这个已经失效了。

ssh多出了两个option——UseKeychain&AddKeysToAgent。详情看官网描述吧。上述的config则多了变化——
|
|
再次进行ssh-add。重启。然后发现照样无效。

上我大Google求助。终于找到一个解决方案。大神的解决方案
大神的解决方案:每次启动,都去执行一次ssh-add -A。
在 ~/Library/LaunchAgents/目录下,加入一个.plist。内容如下——
|
|
重启。成功。
