通过Git Bash可连接GitHub,但WSL的Ubuntu Bash无法连接的问题
WSL Ubuntu中Git推送GitHub报错的解决方法
你遇到的问题是WSL默认调用了Windows的OpenSSH客户端,Windows路径里的空格在bash解析时引发了引号未闭合的语法错误。以下是具体解决步骤:
安装WSL本地的OpenSSH客户端
在Ubuntu终端执行:sudo apt update && sudo apt install openssh-client让WSL优先使用本地SSH客户端
编辑bash配置文件(比如~/.bashrc):nano ~/.bashrc在文件末尾添加:
export SSH_PATH=/usr/bin/ssh export PATH=$SSH_PATH:$PATH保存退出后,执行命令生效配置:
source ~/.bashrc如果用的是zsh,就编辑
~/.zshrc并执行source ~/.zshrc验证SSH路径
执行which ssh,返回结果应为/usr/bin/ssh,确认不再指向Windows的ssh.exe配置WSL专属的GitHub SSH密钥
生成新密钥(替换成你的邮箱):ssh-keygen -t ed25519 -C "your_email@example.com"查看公钥内容:
cat ~/.ssh/id_ed25519.pub将输出内容复制到GitHub的SSH密钥设置页面,完成后测试连接:
ssh -T git@github.com看到
Hi [你的用户名]! You've successfully authenticated, but GitHub does not provide shell access.就说明配置成功
之后再执行Git推送操作,就不会再出现之前的错误了。
内容的提问来源于stack exchange,提问作者4r73m190r0s
相关产品推荐
相关产品推荐

