使用场景
正在学习git的基本使用,在尝试git操作远程仓库时选择了github。按照黑马的教程一步步来(他使用的是gitee),生成ssh公钥:
ssh-keygen -t rsa -C "github的注册邮箱" #教程里省略了-C及后面的值,不知道会不会有什么影响
一路下一步添加完公钥,.ssh目录下生成了id_rsa和id_rsa.pub。然后把id_rsa.pub中的内容分别添加到github的Authentication keys(用于读写权限)和Signing keys(登录权限)中。
然后使用ssh命令测试链接:
ssh -T git@github.com
结果提示需要输入git@github.com's password。我分别尝试了github的密码和注册邮箱的密码,结果都是denied。
解决方案
上网搜了下,结果都是些检查公钥是否正确之类不痛不痒的回答,或者干脆把操作步骤重复一遍。更有甚者让检查下git config设置的邮箱是否和github注册邮箱是否一致的...话说这真的有用吗(事后我故意把git config的邮箱改为一个其他无效的邮箱,再尝试ssh -T,依然能登录成功,╮(╯▽╰)╭)
最后想到作为全球最大同xing交友网站,相关文档至少应该很完善吧,所以还是去翻了官方文档。在 HTTPS 端口使用 SSH - GitHub 文档
竟然是防火墙的问题...按照官方文档的方法,添加了config文件,再次尝试ssh -T,连接成功,齐活。