之前因为实习,一直没空搞毕设。实习结束了,该搞毕设了。
先从github建个仓库,搞定ssh连接开始吧。
公钥私钥生成好了,导入到设置里了...OK啊,连接测试一下...
$ ssh -T git@github.com
?怎么会连不上呢?
ssh: connect to host github.com port 22: Connection refused
见了鬼了...不过好在的是,经过一番查阅和处理之后,我发现了问题的根源所在。
我使用了Watt Toolkit来加速浏览器上GitHub的访问(因为直连太抽奖了...),但是这个功能会通过更改host文件,劫持域名解析到本机再通过本机的反代来获取内容,它与git本身的ssh设置出现了冲突。
想解决这个问题,就得从这里开始。
在千问的帮助下,找到了这个方法。
更改ssh的设置
系统的ssh配置会默认保存在用户目录/.ssh文件夹内,里面保存了你生成的ssh公私钥、ssh设置等信息。
我们需要生成一份配置文件,可以手动在目录里创建,也可以使用终端:
# 下列二者选择其一即可
notepad "$HOME\.ssh\config"
code $HOME\.ssh\config
code开头的命令仅限于你安装了VS Code后才能用。
notepad代表着系统自带的记事本,它的命令中的引号不能略去,否则根据Windows记事本的规则,用户不专门指定后缀名时,会自动添加.txt的后缀,使得设置文件不能被ssh功能识别。
如果使用记事本时软件提示没有该文件,询问是否创建,直接确认就完事儿了。
接着,在文件中保存如下内容:
Host github.com
Hostname ssh.github.com
Port 443
User git
StrictHostKeyChecking no
最后一行其实应该不用写,因为这个本来是我在使用直连IP地址时输入的,以防因解析的IP地址出现变更而发生错误。
更改完成后,保存,退出,在终端里再刷新一下指纹信息:
ssh-keygen -R github.com
ssh-keygen -R ssh.github.com
然后重新测试一下,应该就好了:
$ ssh -T git@github.com