Skip to content

错误描述

在把本地项目代码推送到 GitHub 时, 执行 git push 时遇到 ssh: connect to host github.com port 22: Connection refused 错误,通常是由于 SSH 连接问题导致的。以下是几种解决

解决方法

1. 检查 GitHub 秘钥是否已配置。

# 检查是否有 SSH 密钥
ls -la ~/.ssh

# 如果没有,生成新的 SSH 密钥
ssh-keygen -t ed25519 -C "你的邮箱地址"

# 将 SSH 密钥添加到 ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519

# 查看公钥内容并添加到 GitHub 账户
cat ~/.ssh/id_ed25519.pub

然后将显示的公钥添加到 GitHub 账户的 SSH 密钥列表中 点击右上角头像 setting -> sshkey -> new ssh key 在页面随便填入一个 title, 然后 key 里面,把刚才复制的那个文本信信息拷贝进去

github设置图像

找到SSH keys

添加SSH keys

2. 使用 HTTPS 协议而非 SSH

把远程仓库的 URL 从 SSH 格式改为 HTTPS 格式

# 查看当前远程仓库地址
git remote -v

# 修改为 HTTPS 格式
git remote set-url origin https://github.com/你的用户名/你的仓库名.git

# 再次尝试推送
git push -u origin main

3. 测试 SSH 连接

如果成功,会显示类似 Hi 用户名! You've successfully authenticated... 的信息。

ssh -T git@github.com

如果遇到SSL certificate相关报错

当你遇到 SSL certificate problem: unable to get local issuer certificate 错误时,这通常是由于 Git 无法验证 GitHub 服务器的 SSL 证书导致的。此时,需要安装新的 Git 。

1. 查看Git版本

git -v

2. 去官网下载最新的Git

官方下载: https://git-scm.com/downloads 如果官网下载慢,可尝试这个下载地址 https://web.codesji.com/posts/git

3. 重新安装 Git

卸载旧的Git,重启电脑并重新安装 Git

安装新的Git后,这个问题就能解决了。