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

发布于:2025-05-21 ⋅ 阅读:(25) ⋅ 点赞:(0)

一、问题

我们再使用阿里云服务器或者别的服务器,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.com

  HostName ssh.github.com  # 关键:指定备用域名

  User git

  Port 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-rsa

PubkeyAcceptedKeyTypes +ssh-rsa

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

​​权限问题​​:

chmod 700 ~/.ssh

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

​​多账户冲突​​:

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

​​网络限制​​:

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

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


网站公告

今日签到

点亮在社区的每一天
去签到