错误描述
在把本地项目代码推送到 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 里面,把刚才复制的那个文本信信息拷贝进去



2. 使用 HTTPS 协议而非 SSH
把远程仓库的 URL 从 SSH 格式改为 HTTPS 格式
# 查看当前远程仓库地址
git remote -v
# 修改为 HTTPS 格式
git remote set-url origin https://github.com/你的用户名/你的仓库名.git
# 再次尝试推送
git push -u origin main3. 测试 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 -v2. 去官网下载最新的Git
官方下载: https://git-scm.com/downloads 如果官网下载慢,可尝试这个下载地址 https://web.codesji.com/posts/git
3. 重新安装 Git
卸载旧的Git,重启电脑并重新安装 Git
安装新的Git后,这个问题就能解决了。
