记录一次已经在 Github 中增加了 ssh key,但实际 push 代码仍然需要 password 的问题

问题

更改一些代码后,在本地执行 git push,需要 password,而且无论输入什么,都是错误。

解决方案

建议先在相应的环境检查实际连接到 github 的情况,比如你在终端 push,那就在终端 ping 以下 github.com。

因为部分开发的情况是浏览器会装一个代理插件,然后实现那啥那啥,而本地则处于一个干净网络的情况。当你 push 代码的时候,实际依靠的本地的网络环境。

更改 https 为 ssh 方式

这个是常规情况的解决方案,可以通过 git remote 命令进行更改

1
2
3
4
5
6
## 原
#https://github.com/xxx/xxx.github.io.git
## 新
#git@github.com:xxx/xxx.github.io.git

git remote set-url origin <你的仓库ssh链接>

网络问题

这个是我自己遇到的,各种方式尝试过,发现依旧提示我输入 password,后来无意间 ping 了一下 github,返回了 127.0.0.1。

很显然,dns 污染了呗。解决方法无非要么设置 dns 为 114.114.114.114, 尝试下是否能无代理连接,要么就使用能作用到终端的代理软件。

当然,这种情况按道理正常返回的应该是 Host key verification failed