git推送多个地址,像生成公钥,.ssh目录下的config配置,可以自行百度,基础就不讲了。

 

这里讲推送多个地址验证不通过的问题。

本地生成公钥正确,git服务器上添加公钥也正确,用ssh -T git@xxxx也正确,但是就是在git push ,pull等操作时报错,报错如下,我这里以阿里云的代码管理为例:

 

网上找了一下,说是在git安装目录下,/etc/bash.bashrc,加上添加密钥的命令,这种并不完美!!!!,并且只能在Git Bash里通过,在Idea里面一样通不过!!!!

 

还得靠自己去摸索,用了差不多将近一天的时间,终于找到了原因。

 这是因为在.ssh目录下的config文件,Host作了简写

 

以阿里云的地址为例,他的完整地址是codeup.aliyun.com,在HostName就是这样,但是在Host这里,一般来说我们可以简写,因为他只是一个别名,比如aliyun.com。

简写的情况下,用ssh -T git@xxx能测试通,但是正式和服务器交互的时候,就是找不到验证密钥,需要使用ssh-agent bash,然后执行ssh-add xxx添加密钥的操作才行。

把Host改成和HostName一样的地址就能解决