SSH代替HTTPS,解决无法连接GitHub远程仓库的问题

git push 无法连接远程仓库

在我开了代理,网很好,访问github官网很流畅的情况的下,我用 git push 上传文件到远程厂库,他还是提醒我无法连接

第一次让我输入账户密码,我输了,它提示我输入错误

第二次再传就直接无法链接远程仓库了

复制代码
fatal: unable to access 'https://github.com/Gatva/Java-.git/': Failed to connect to github.com port 443: Timed out

fatal: unable to access 'https://github.com/username/repo.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

检查用户名和邮箱是否正确

可以再git Bash中查看

复制代码
$ git config user.name
$ git config user.email

如果确认账户密码没有错误,还无法访问就是Github当前已经不支持账户密码的验证方式

复制代码
remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Gatva/Gatva-students-management-system.git/'

使用SSH协议传输

为了解决这个问题,可以使用个人访问令牌 (Personal Access Token, PAT) 或 SSH 密钥进行身份验证。

SSH(Secure Shell)是一种在网络上进行加密通信的协议,用于远程登录服务器、传输数据和执行命令。

下面是使用SSH密钥进行验证:

  1. 生成 SSH 密钥:在本地计算机上生成 SSH 密钥

    • 打开命令行终端,输入命令

      ssh-keygen -t rsa -b 4096 -C "your_email@example.com",其中your_email@example.com改为你的邮箱

    接着,一路回车即可,直到命令行中输出 Enter a file in which to save the key 那一步。这时需要输入保存密钥的文件名和路径,如果不想修改,直接按回车即可。默认路径是在用户主目录下的 .ssh 文件夹中。

    接下来会让你输入两次密码,可以为空,直接按回车,如果设置有密码,每次使用SSH密钥进行身份验证时都需要输入密码进行验证。

    完成后,id_rsa是生成的私钥,保存在你指定的文件夹路径下,id_rsa.pub是生成的公钥,保存在相同路径下。

    • 启动SSH

      eval "$(ssh-agent -s)" 命令启动 ssh-agent
      ssh-add ~/.ssh/id_rsa 将私钥添加到 ssh-agent 中。

  2. 生成SSH密钥后,需要将公钥添加到你的GitHub账户

    复制你在之前创建的公钥。

    在 GitHub 账户的 Setting 页面中,选择 SSH and GPG keys,点击 New SSH key 添加新的 SSH key。

    粘贴你刚刚复制的 SSH 公钥。

    点击 Add SSH key,就可以将公钥添加到你的 GitHub 账户中了。

    这样,当你使用git提交代码时,就可以使用SSH密钥进行身份验证,而无需每次输入密码。

  3. 验证密钥是否生成成功

    复制代码
    ssh -T git@github.com

    出现下面提示就是成功

    复制代码
    Hi Gatva! You've successfully authenticated, but GitHub does not provide shell access.  
  4. 操作git

    最后git push

    就成功了!

    复制代码
    $ git push
    Enumerating objects: 74, done.
    Counting objects: 100% (74/74), done.
    Delta compression using up to 16 threads
    Compressing objects: 100% (65/65), done.
    Writing objects: 100% (72/72), 65.53 KiB | 124.00 KiB/s, done.
    Total 72 (delta 3), reused 0 (delta 0)
    remote: Resolving deltas: 100% (3/3), done.
    To github.com:Gatva/Gatva-students-management-system.git
    d5bfa77..713a087  main -> main
  5. 用SSH协议git clone

    如果由于网络问题 git clone https://github.username.resp.git 失败,就可以用SSH协议代替HTTP协议 git clone git@github.com:username/resp.git

相关推荐
u13013035 分钟前
GitHub 热榜项目:周榜(2026-09-27)
人工智能·github
弈栈录38 分钟前
Java AI 应用的异步化与高并发设计
java·后端·架构
落魄实习生1 小时前
Agent Scope Java 2.x 系列【2】 ReActAgent
java·开发语言
艸肅1 小时前
Ubuntu 安装 JDK (含手动安装)
java·ubuntu·jdk
m0_734172421 小时前
Python字典计数怎样处理首次出现的键
java
卓怡学长2 小时前
w204基于springbo旅行社签证代理服务系统
java·spring boot·spring·intellij-idea
泡海椒2 小时前
趋势分析报表:jquick-pdf折线图PDF生成实战
java·大数据·运维·服务器·前端·pdf
Json____2 小时前
家居装修 AI 智能咨询助手:让装修咨询从“大海捞针“变成“一问即答“
java·后端·vue3·it学习·wwwoop.com
vipxieliang2 小时前
ValidX 在微服务架构中的验证策略
java·spring boot
用户094248568032 小时前
第18章:ConcurrentHashMap与并发容器实战
java·jvm