GitHub SSH 完整配置教程|告别每次输入账号密码,附带超时网络问题解决方案

5次阅读
没有评论

标签:#Git #GitHub #SSH

前言

很多新手克隆 GitHub 仓库习惯使用 HTTPS 地址,每次 git pushgit pull 都要输入账号令牌密码,十分繁琐。而 SSH 密钥认证 可以实现免密推送代码,一劳永逸。

误区提醒:命令不是 gelink ssh github.com,正确的测试命令:

ssh -T git@github.com

本文覆盖 Windows (Git‑Bash/PowerShell)、MacOSLinux 全平台,包含密钥生成、公钥上传、连通测试、HTTPS 仓库切换 SSH、网络超时排错全套流程GitHub。

一、前置准备

  1. 电脑已经安装 Git
  2. 准备好注册 GitHub 的邮箱地址

二、生成 SSH 密钥

打开终端,Windows 用户推荐打开 Git Bash,执行下面命令(推荐安全的 ed25519 算法密钥):

ssh-keygen -t ed25519 -C "你的GitHub注册邮箱"

⚠️ 如果你的旧系统不支持 ed25519,则使用 RSA 密钥方案:

ssh-keygen -t rsa -b 4096 -C "你的GitHub注册邮箱"

执行后连续敲击三次回车即可。

  • 第一次回车:密钥保存路径,默认 ~/.ssh/
  • 第二次回车:密钥密码(可留空免密)
  • 第三次回车:确认密码

生成成功后目录下将产出两个文件:

  • id_ed25519私钥,妥善保管,禁止外传
  • id_ed25519.pub公钥,后面复制上传 GitHub

三、读取并复制公钥内容

Git‑Bash / Mac / Linux

cat ~/.ssh/id_ed25519.pub

Windows PowerShell

cat ~\.ssh\id_ed25519.pub

复制控制台打印出来完整一整行内容,以 ssh‑ed25519 开头、你的邮箱结尾,不要漏掉任何字符。

四、在 GitHub 添加公钥

  1. 登录 GitHub,右上角头像 → Settings
  2. 左侧菜单栏找到 SSH and GPG keys
  3. 点击 New SSH key
  4. Title:自定义备注(例如「Windows 办公电脑」)
  5. Key type:Authentication key
  6. Key 输入框,粘贴刚刚复制的公钥
  7. 点击 Add SSH key,完成添加

五、测试 SSH 连通性

终端执行测试命令:

ssh -T git@github.com

首次连接出现确认提示:

Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入 yes 回车。

成功标志(看到这条提示就代表配置完成)

Hi 你的用户名! You've successfully authenticated, but GitHub does not provide shell access.

这句话是正常提示:SSH 鉴权成功,GitHub 不提供服务器终端登录。

六、使用 SSH 克隆仓库

前往仓库主页,克隆选项切换为 SSH,复制地址。

git clone git@github.com:用户名/仓库名.git

七、旧 HTTPS 仓库切换 SSH 地址

如果你本地已经下载好仓库(HTTPS 方式),不需要重新克隆,直接修改远程地址即可:

#进入项目文件夹
cd 你的项目目录
#修改origin远程地址
git remote set-url origin git@github.com:用户名/仓库名.git

查看远程地址确认修改成功:

git remote -v

八、常见问题:端口 22 连接超时(最常见网络报错)

报错信息:ssh: connect to host github.com port 22: Connection timed out

原因:国内网络环境经常封禁 SSH 默认 22 端口。 解决方案:SSH 走 443HTTPS 备用端口。

  1. .ssh 目录新建 / 编辑 config 文件(无后缀!文件名就叫 config)
  2. 写入配置内容:
Host github.com
  HostName ssh.github.com
  User git
  Port 443
  1. Linux/Mac 用户需要给配置文件权限:
chmod 600 ~/.ssh/config
  1. 再次测试连接:
ssh -T git@github.com

大概率超时问题直接解决GitHub Doc…。

九、补充:配置本地 Git 用户名邮箱

SSH 密钥只解决免密登录,本地提交记录还需要身份信息,全局配置一次即可:

git config --global user.name "你的GitHub昵称"
git config --global user.email "你的GitHub邮箱"

总结清单

  1. 生成密钥:ssh-keygen -t ed25519 -C "邮箱"
  2. 复制公钥:cat ~/.ssh/id_ed25519.pub
  3. GitHub 网页添加 SSH 公钥
  4. 连通校验:ssh -T git@github.com
  5. Clone 仓库:git clone git@github.com:...
  6. 超时修复:.ssh/config 设置 443 端口

官方参考文档:https://docs.github.com/cn/authentication/connecting-to-github-with-ssh

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码