向CODING推送代码出现Permission denied怎么回事

在杜老师说博客看到的这篇文章,感觉挺不错的,转载收藏一下,以防以后用得到。

托管在腾讯云的 Webify,最近因 GitHub 的 Webhook 推送问题导致无法触发部署,故转移到了 CODING。在推送代码时出现 Permission denied 的问题,本文记录解决方法。

部署公钥

在推送代码前,我们需要将服务器的公钥部署到 CODING 上:

向CODING推送代码出现Permission denied怎么回事

还可以添加到个人账户设置中 SSH 公钥一项。两者的区别是,前者只对指定项目有效,后者针对该用户的所有项目有效:

向CODING推送代码出现Permission denied怎么回事

解决方法

部署公钥后使用 ssh -T git@e.coding.net 命令测试,会提示 Permission denied (publickey)。

如果是 Linux 系统,使用命令 vim /etc/ssh/ssh_config 在文件末尾加入以下代码:

Host *.coding.net
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

如果是 Windows 系统,需先找到 Git 的安装目录,如 C:\Program Files\Git,则编辑配置文件 C:\Program Files\Git\etc\ssh\ssh_config 加入以下代码:

Host *.coding.net
    HostkeyAlgorithms +ssh-rsa
    PubkeyAcceptedAlgorithms +ssh-rsa

编辑完成后再试下 ssh -T git@e.coding.net,就不会提示 Permission denied (publickey),可正常推送代码了。