ssh的连接方式 git push 时报错信息
git push时失败,连接到主机github.com端口22,连接超时
js
git push origin main:main
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
ps:
git-push原点main:main
ssh:连接到主机github.com端口22:连接超时致命:无法从远程存储库中读取。
请确保您拥有正确的访问权限并且存储库存在。
百度解决方案
重新生成ssh密钥修改git用户邮箱设置删除known_hosts
中有关 Github相关行
大部分csdn解决方法是说需要重新生成ssh密钥,但我前几天刚提交过代码的,ssh密钥肯定是没问题的!
问题原因
出现这个问题,很可能是你的网络供应商(比如广电网)在出口防火墙上屏蔽了22端口(本地使用vpn等代理服务),这意味着你将无法访问其他主机的22端口。
github提供了一种解决方案,允许你使用443端口进行ssh连接。
因为443端口是访问https网站 所必须的,大部分防火墙都会允许通过,但如果使用代理服务器可能产生干扰。
解决方案
方法1
放弃使用 ssh 连接方式,换成 https连接。删除关联的远程库,更换为https的连接方式进行远程库的关联
ssh切换http
arduino
git remote set-url origin https://github.com/xxxgit
http切换ssh
kotlin
$ git remote set-url origin git@github.com:xxx.git
方法2
终端运行如下命令:
css
ssh -T -p 443 git@ssh.github.com
win10 找到配置文件 C:\Users\xxx\.ssh\config
添加配置,让你每次ssh连接github都通过443端口,指明ssh连接git@github.com
或git@ssh.github.com
走443端口
config文件添加如下内容:
sql
Host github.com
Hostname ssh.github.com
Port 443
User git
重新执行,检查是否成功
css
ssh -T git@github.com
成功如下:
此时进行 git push
发现可以成功了。