当前位置: 首页 > news >正文

ssh -T git@github.com失败后解决方案

这个错误表示你的 SSH 连接无法到达 GitHub 服务器。以下是详细解决方案,按照优先级排序:

首选解决方案:使用 SSH over HTTPS(端口 443)

这是最有效的解决方案,因为许多网络会阻止 22 端口:

# 编辑 SSH 配置文件
nano ~/.ssh/config

添加以下内容:

Host github.comHostname ssh.github.comPort 443User git

保存后测试连接:

ssh -T git@github.com

如果看到 “You’ve successfully authenticated” 消息,即可正常使用 git push

替代解决方案:切换到 HTTPS

如果 SSH 仍然失败:

# 查看当前远程 URL
git remote -v# 切换到 HTTPS
git remote set-url origin https://github.com/用户名/仓库名.git# 然后推送
git push origin master

系统会提示输入 GitHub 用户名和密码(建议使用个人访问令牌代替密码)

完整排查步骤:

  1. 检查网络连接

    ping github.com
    telnet github.com 22  # 或使用 nc -zv github.com 22
    

    如果无法连接,尝试:

    • 关闭 VPN/防火墙
    • 切换网络(如手机热点)
    • 等待网络恢复
  2. 验证 SSH 配置

    # 检查密钥是否加载
    ssh-add -l# 如果没有密钥,添加默认密钥
    ssh-add ~/.ssh/id_rsa  # 或你的密钥文件
    
  3. 更新 known_hosts

    ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts
    
  4. 测试详细连接

    ssh -Tv git@github.com
    

    查看输出中 “Connection refused” 出现的具体位置

高级解决方案:

  1. 使用代理(如果处于受限网络):

    # 在 ~/.ssh/config 添加
    Host github.comProxyCommand nc -X connect -x 代理IP:端口 %h %p
    
  2. 更新 Git 和 SSH

    # macOS
    brew upgrade git openssh# Windows
    git update-git-for-windows
    
  3. 创建新仓库测试

    mkdir test-repo && cd test-repo
    git init
    touch test.txt
    git add . && git commit -m "test"
    git remote add origin git@github.com:用户名/test-repo.git
    git push -u origin master
    

临时解决方案:

# 使用 git 内置的 HTTPS 端口回退
git config --global url."https://github.com/".insteadOf git@github.com:
git config --global url."https://".insteadOf git://

重要提示:如果使用企业网络/校园网,可能需要联系网络管理员开放 22 或 9418 端口。GitHub 状态可查看 https://www.githubstatus.com

完成这些步骤后,应该能成功推送代码。如果问题仍然存在,请提供 ssh -Tv git@github.com 的输出结果以便进一步分析。

http://www.lqws.cn/news/546499.html

相关文章:

  • Google机器学习实践指南(逻辑回归损失函数)
  • RabitQ 量化:既省内存又提性能
  • 华为云Flexus+DeepSeek征文 | 基于华为云ModelArts Studio平台搭建AI Markdown编辑器
  • 【iSAQB软件架构】四大架构视图利益相关者
  • 【开源项目】「安卓原生3D开源渲染引擎」:Sceneform‑EQR
  • 机器学习6——线性分类函数
  • PHP「Not enough Memory」实战排错笔记
  • 小程序 API 开发手册:从入门到高级应用一网打尽
  • 基于[coze][dify]搭建一个智能体工作流,抓取热门视频数据,自动存入在线表格
  • Python打卡:Day38
  • 华为数通认证:适合谁的技术进阶之路?
  • 基于MySQL的分布式锁实现(Spring Boot + MyBatis)
  • 【数据分析,相关性分析】Matlab代码#数学建模#创新算法
  • 【C语言】知识总结·指针篇
  • 关于SAP产品名称变更通知 SAP云认证实施商工博科技
  • 动态控制click事件绑定
  • H.264中片数据分割(Slice Data Partitioning)介绍
  • Decoder-only PLM GPT1
  • c++异常
  • LINUX625 DNS反向解析
  • gemini-cli 踩坑实录
  • Windows VMWare Centos环境下安装Docker并配置MySql
  • PART 7 视频
  • web布局25
  • iOS打包流程中的安全处理实践:集成IPA混淆保护的自动化方案
  • 消息队列的网络模型详解:IO多路复用、Reactor模型、零拷贝
  • 一键获取服务器硬件脚本:CPU/内存/磁盘/RAID检测脚本详解
  • 电子行业 MES 系统:生产管理的智能引擎
  • Minio的扩容
  • 【docker】docker run参数说明