端口443在git bash向github推送时的步骤

发布于:2025-05-18 ⋅ 阅读:(19) ⋅ 点赞:(0)

端口443在git bash向github推送时的步骤

你的环境可能因防火墙限制无法使用默认的 SSH 端口(22),因此需要改用 SSH over HTTPS(端口 443) 进行 Git 推送。
github与git bash绑定问题详见博主先前写过的参考博文:
https://blog.csdn.net/2301_79012058/article/details/145613815?fromshare=blogdetail&sharetype=blogdetail&sharerId=145613815&sharerefer=PC&sharesource=2301_79012058&sharefrom=from_link
以下是完整步骤:

1. 确保 SSH 密钥已配置

① 生成 SSH 密钥(如果尚未生成)

ssh-keygen -t ed25519 -C "your-email@example.com"

(如果系统不支持 ed25519,改用 -t rsa -b 4096

② 将公钥添加到 GitHub

  • 复制公钥内容:

    cat ~/.ssh/id_ed25519.pub
    
  • 进入 GitHub Settings → SSH and GPG Keys → New SSH Key,粘贴并保存。


2. 配置 SSH 使用端口 443

① 修改 ~/.ssh/config

nano ~/.ssh/config

添加以下内容:

Host github.com
    Hostname ssh.github.com
    User git
    Port 443
    IdentityFile ~/.ssh/id_ed25519  # 替换为你的私钥路径

保存并退出(Ctrl + XYEnter)。

② 测试 SSH 连接

ssh -T git@ssh.github.com

成功返回

Hi Westredtomato! You've successfully authenticated, but GitHub does not provide shell access.

如果失败,检查 ~/.ssh/config 是否拼写正确,并确保 SSH 密钥已添加到 GitHub。


3. 初始化 Git 仓库并设置远程 URL

① 初始化本地仓库

git init
git add .
git commit -m "Initial commit"

② 设置远程仓库 URL(使用 SSH over 443)

git remote add origin git@github.com:Westredtomato/aTestGitPractice.git

或(显式指定端口 443):

git remote add origin ssh://git@ssh.github.com:443/Westredtomato/aTestGitPractice.git

③ 检查远程 URL

git remote -v

正确输出

origin  git@github.com:Westredtomato/aTestGitPractice.git (fetch)
origin  git@github.com:Westredtomato/aTestGitPractice.git (push)
origin  ssh://git@ssh.github.com:443/Westredtomato/aTestGitPractice.git (fetch)
origin  ssh://git@ssh.github.com:443/Westredtomato/aTestGitPractice.git (push)

4. 推送代码到 GitHub

① 推送到 mastermain 分支

git push -u origin master

如果 GitHub 默认分支是 main(推荐):

git branch -M main  # 重命名本地分支
git push -u origin main

② 如果遇到 Permission denied

  • 检查 ~/.ssh/config 是否正确。

  • 确保 git remote -v 显示的是 git@github.comssh://git@ssh.github.com:443

  • 重新加载 SSH 代理:

    eval "$(ssh-agent -s)"
    ssh-add ~/.ssh/id_ed25519
    

5. 特殊情况处理

① 如果仍然无法连接

  • 改用 HTTPS(临时方案):

    git remote set-url origin https://github.com/Westredtomato/aTestGitPractice.git
    git push -u origin main
    

    (需要输入 GitHub 用户名和密码或 Personal Access Token)

  • 检查网络代理

    git config --global --unset http.proxy
    git config --global --unset https.proxy
    

② 如果远程分支不匹配

  • 本地 master,远程 main

    git branch -M main  # 重命名本地分支
    git push -u origin main
    

最终检查

  • SSH 连接测试

    ssh -T git@github.com
    
  • 远程 URL 检查

    git remote -v
    
  • 分支匹配

    git branch
    

网站公告

今日签到

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