问题描述:

环境:ubuntu 20.04 or 计网课程cs144虚拟机

问题:在github添加ssh秘钥之后,本地还是无法正常通过publickey来ssh和clone,如果没有在~/.ssh/config文件中添加Preferred Authentications publickey的话还会自动切换到密码登录模式,但这个密码是git自己创建的,我也不知道是多少,输不对。
表现形式:
https://gitee.com/dai-zikun/typora/raw/master/img/github.png

相同的操作,在gitee中添加好ssh秘钥后,虚拟机上就可以正常ssh。

https://gitee.com/dai-zikun/typora/raw/master/img/gitee.png

试着ping github.com也是没问题的,甚至速度比校内服务器还快。

https://gitee.com/dai-zikun/typora/raw/master/img/ping.png
https://gitee.com/dai-zikun/typora/raw/master/img/nju.png

最终解决方法:

灵感来源CSDN

通过在线工具域名转IP将域名github.com转换为20.205.243.166,然后终端执行

ssh git@20.205.243.166

惊奇地发现居然正常访问了
https://gitee.com/dai-zikun/typora/raw/master/img/image-20221020141350113-16662464352391.png

看到曙光,clone时把github.com替换成 20.205.243.166

git clone git@20.205.243.166:NJU-CN-course-427lab/lab1-Clare0354.git

https://gitee.com/dai-zikun/typora/raw/master/img/image-20221020141712411-16662466358453.png
成了!

原因猜测:为了访问github开了FastGithub,这个软件的工作原理和DNS、IP有关,或许是这个原因?

但不开这个软件我甚至开不了github,也不知道关了FastGithub时能否正常ssh。

参考过的教程

  1. Git 配置SSH的端口号 感觉没什么用,可能是话没说完
  2. 改秘钥版本 没什么用
  3. 改网段 没什么用
  4. 要输入的密码是什么,怎么看 配gitlab时生成的,github不知道有没有
  5. 修改server的配置 github找不到
  6. 重启远程仓库的gitlab 一远程仓库没终端二不是gitlab
  7. 修改gitlab配置,添加端口22 一不是gitlab二我在config里加上22端口还是不行
  8. 修改自己添加的.ssh/config中的HOST 没什么用
  9. 改用http443建立ssh连接 我虚拟机上不行
  10. win10下能ssh但clone需要输密码 情况不适用
  11. 改域名映射 解决灵感来源

其他参考:deploy key:只能应用于这个仓库,不能访问其他仓库,但有一个选项可以让这个key权限升级到ssh key级别,能访问所有仓库ref

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐