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

阿里云服务器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了

相关文章:

  • 什么是防抖和节流?有什么区别?如何实现?
  • 新闻媒体发稿:社会实践返家乡主题如何选择
  • jvm对象压缩
  • 【工具变量】地级市健康城市试点政策数据集(2007-2024年)
  • web基础
  • 系统架构设计(十五):质量效用树
  • unipp === 状态管理 Pinia 使用
  • Mermaid 使用快速入门
  • MinerU可视化界面程序部署(Windows环境)
  • RSA加解密实战指南:Java与JavaScript实现详解 + 在线工具推荐
  • 探索付费社群的成功之道:生财与群响的深度解析
  • Pandas:Series和DataFrame的概念、常用属性和方法
  • 【漫话机器学习系列】270.KNN算法(K-Nearest Neighbors)
  • 【python进阶知识】Day 31 文件的规范拆分和写法
  • 工业数据治理标准规范深度解析
  • 150.WEB渗透测试-MySQL基础(五)
  • JAVA打飞机游戏设计与实现(论文+源代码)【源码+文档+部署】
  • Splitpanes (可调整大小的面板分割布局)插件应用
  • ALSA 插件是什么? PortAudio 断言失败是什么意思?
  • (05)数字化转型之生产制造:从通常的离散制造到柔性化生产的全景指南
  • 上海地铁:9号线因雨天打滑,佘山往九亭方向部分列车限速运行
  • 中信银行资产管理业务中心原副总裁罗金辉一审被控受贿超4437万
  • 中方是否担忧美国主权信用评级下调?外交部:美国应采取负责任的政策措施
  • 益阳通报“河水颜色异常有死鱼”:未发现排污,原因待鉴定
  • 事关中国,“英伟达正游说美国政府”
  • 三人在共享单车上印小广告被拘,北京警方专项打击非法小广告