Git连接Coding.net远程仓库时无法push

树莓派上安装了Git软件,在Coding.net上创建了版本库,然后clone下来:

1
pi@raspberrypi:~ $ git clone git@git.coding.net:username/projectname.git

成功clone下来,然后完成一次提交再push回去的时候却报错了,总结原因,写下我的折腾记录。。。

首先要生成ssh密钥,用命令$ ssh-keygen -t rsa -C "username@host.com"生成密钥,默认保存在/home/user/.ssh 目录下,包括id_rsaid_rsa.pub两个文件,其中第一个是私钥,、第二个是公钥。
打开公钥,将所有内容复制,然后去coding.net的我的账户->SSH公钥,将复制的公钥内容粘贴进去,名称和有效日期按照自己的需求定义,最后点击添加。

然后再次push,还是报错,内容大致为:

1
2
Permission denied (publickey).
fatal: Could not read from remote repository.

于是继续百度……发现需要把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。来自: http://man.linuxde.net/ssh-add
于是,执行上述命令,发现又报错了:

1
2
$ ssh-add ~/.ssh/rsa
Could not open a connection to your authentication agent.

继续搜索解决方案,最终按照以下方法解决了这个问题:
先执行

eval `ssh-agent` (是~键上面的那个`)

再执行 $ ssh-add ~/.ssh/rsa成功,最后 $ ssh-add -l 就可以看到新加的rsa了。
完成如上步骤,再次尝试$ git push,发现终于可以推送成功了~~~

如果觉着我的文章不错,打赏我一包辣条吧 O(∩_∩)O
-------------本文结束 感谢您的阅读-------------