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

阿里云服务器Ubuntu的git clone失败问题解决方案

一、问题

我们再使用阿里云服务器或者别的服务器,git clone失败

二、解决方案

​1. 确认SSH密钥是否存在并正确配置​​

​​检查密钥文件​​:

ls -al ~/.ssh

确认存在 id_rsa(私钥)和 id_rsa.pub(公钥)文件。

​​若无密钥​​,生成新的SSH密钥:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"  # 替换为GitHub注册邮箱

按提示回车完成生成(默认路径为 ~/.ssh/id_rsa)。

​​添加公钥到GitHub​​:

复制公钥内容:

cat ~/.ssh/id_rsa.pub

这里我们要科学上网访问github,然后把生成的ssh密钥设置好,登录GitHub → Settings → SSH and GPG keys → 粘贴公钥并保存。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCn+7YtAZsB0ywASnejLqxuv7EAsV1WNWK3NI0j8Icaoy+RsiStbXQVlPdChOeKjQ4b25imAVWpQ+fZFTIGnqJpo33MNwHh+2cPQHjJ089skIV8t25id6tDxrtKX7vNvguJASFr++NFPZPOr4QsxL0fUewkKfH+7/zHbXWX/Mm5kUbAfmH8walJGbkP3lZ6TmZ61ypuE4ypYk8JNqxZqGJ+VWz4GoFA0Gl+UO35vFj6uP1l+ZHboIedewuiVNiBf1B6DnAQd9V/VDCGLo2OGGcAZpEVpmd8KG1nyu5vceO484gKNM4BL8DyeJu0wXtLkpt2kHUw6SDCdeJ9fUjUTjGZ87awwCsZejJ8xqmWf9+VOhTjzJBkbfAHlK6ECeGHBeB5jv45dJthAvILVWvGoxgA1Iav8iX4tMMlPITDi/GglY/OHgHeeYn+WTGpDdbroB+lPCH4QD5qb2JOAZ5Vms7j25F5Gf7izSfbijY201zICpa3CPFuqz/oCPVDWBbx8KMGnnRPMXqK5pl5GRTTCDRyrP3F67vxymys0IEnWciucnE+5V9j92AfVSDwVSebpYaM/D8JfLcBZzXB1QuyYx3LRBCB3hCKCPYgBfm2Bb8bvSTbnp9eCm2BX/sVww/8mjbh5UZZ60VTqvF+zwV+BLH0uIIYquf5vdE5LuuP5HgP6Q==your_email@example.com

需要手机验证一下,手机也要科学上网

​​

2. 启动SSH代理并加载私钥​​

​​启动代理​​:

eval "$(ssh-agent -s)"  # 输出类似 "Agent pid 12345"

​​添加私钥到代理​​:

ssh-add ~/.ssh/id_rsa

若提示 Could not open a connection to your authentication agent,先运行 eval ssh-agent -s。

​​3. 修改SSH配置文件以使用443端口​​

编辑 ~/.ssh/config 文件(若不存在则新建):

vim ~/.ssh/config
Host github.comHostName ssh.github.com  # 关键:指定备用域名User gitPort 443                 # 强制使用443端口IdentityFile ~/.ssh/id_rsa  # 指定私钥路径PreferredAuthentications publickey

保存后运行:

chmod 600 ~/.ssh/config    # 确保文件权限正确

 

 

​​4. 测试连接并调试​​

​​测试SSH连通性​​:

ssh -Tv git@github.com   # -v 显示详细日志

成功时会显示 Hi username! You've successfully authenticated...。

​​关键调试点​​:

日志中应显示 Offering public key: ~/.ssh/id_rsa,确认密钥被正确加载。

若出现 no mutual signature algorithm,在 ~/.ssh/config 中添加:

HostKeyAlgorithms +ssh-rsaPubkeyAcceptedKeyTypes +ssh-rsa

​​5. 其他可能原因​​

​​权限问题​​:

chmod 700 ~/.sshchmod 600 ~/.ssh/id_rsa  # 私钥权限必须为600

​​多账户冲突​​:

若配置了多个GitHub账户,需在 ~/.ssh/config 中为每个账户指定不同的 Host 别名和对应的私钥。

​​网络限制​​:

某些网络可能屏蔽443端口,尝试更换网络环境或使用代理

6.设置好ssh后就可以进行git clone了

http://www.xdnf.cn/news/7555.html

相关文章:

  • C++中的宏
  • 【全网首发】知识库的批量导入以及更新
  • C#学习10——泛型
  • 股指期货模型,简单易懂的套利策略
  • DevExpress GridControl 复选列实时获取选中状态的解决方案
  • VMWare清理后,残留服务删除方案详解
  • bi报表是什么意思?如何制作一张bi报表?
  • 【算法-栈】深入栈模拟题:从题型特征到实现技巧
  • Opencv常见学习链接(待分类补充)
  • 【笔试强训day37】
  • [luogu12542] [APIO2025] 排列游戏 - 交互 - 博弈 - 分类讨论 - 构造
  • Keil软件中STM32(ARM)与C51兼容方法
  • 预先学习:构建智能系统的 “未雨绸缪” 之道
  • RabbitMQ的基本使用
  • SSL证书:谷歌算法排名的安全基石与信任杠杆
  • 【小明剑魔视频Viggle AI模仿的核心算法组成】
  • Wan2.1 通过首尾帧生成视频
  • 【综述】视频目标分割VOS
  • 【DICOM之加密传输】DICOM实现TLS加密传输的一些经验
  • 二、【环境搭建篇】:Django 和 Vue3 开发环境准备
  • Spark离线数据处理实例
  • 20250520在全志H3平台的Nano Pi NEO CORE开发板上运行Ubuntu Core16.04.3时跑通4G模块EC20
  • 大模型——多模态检索的RAG系统架构设计
  • CentOS系统上挂载磁盘
  • 【图像大模型】Stable Diffusion 3 Medium:多模态扩散模型的技术突破与实践指南
  • CentOS Stream安装MinIO教程
  • 算力:数智时代的核心生产力引擎​
  • idea 插件开发自动发布到 nexus 私服中(脚本实例)
  • 界面控件DevExpress WinForms v24.2——PDF Viewer功能升级
  • Visual Studio 2019/2022:当前不会命中断点,还没有为该文档加载任何符号。