《玩转Git》[FAQ篇2]:一次Git 通过SSH克隆或Pull代码失败解决方法(中文路径设置问题)
每次SSH下载代码,提示找不到文件或文件夹,仔细看提示发现.ssh路径不太对,被转码了。而电脑里真是.ssh文件夹是在C盘下,安装操作系统时,用的中文用户名。因为电脑名设置为中文,导致现在使用ssh秘钥从github以及其他仓库拉取代码时会出现如下报错。使用用GitBash拉代码是正常的,用Windows自带的命令行、PowerShell却不行。那这个报错大概是调用了OpenSSH服务有关,Ope
一)问题描述
每次SSH下载代码,提示找不到文件或文件夹,仔细看提示发现.ssh路径不太对,被转码了。而电脑里真是.ssh文件夹是在C盘下,安装操作系统时,用的中文用户名。
因为电脑名设置为中文,导致现在使用ssh秘钥从github以及其他仓库拉取代码时会出现如下报错。

使用用GitBash拉代码是正常的,用Windows自带的命令行、PowerShell却不行。那这个报错大概是调用了OpenSSH服务有关,OpenSSH不兼容中文目录导致。是说明你的.ssh目录设置的有问题,关于用户主目录(home)的问题,一般windows机器安装完git后home都会是C:\Users\用户名这种目录。
二)解决思路
尝试使用Git的SSH代替系统自带的SSH,配置了环境变量不好使。
由于电脑使用的是电脑自带的openssh,而我们可以使用自己安装的git下的ssh,我们可以把git的ssh目录加到环境变量中,将<git安装路径>\usr\bin\ssh.exe 添加到环境变量中。
换一个思路,让Git SSH配置挪到非中文路径下。
1)右键打开Git Bash
2) 运行export命令,临时修改HOME环境变量
设置你要保存的SSH文件路径(切记不要使用中文路径了)
export HOME=D:\SDK\Git_HOME(你想设置的目录)
3)创新生成SSH公钥、私钥,或者把原来C盘的.SSH文件夹整个拷过来
Cpoy .ssh文件夹下的文件到新路径
这次可以正常使用不报错了
4)要永久生效,需要设置环境变量HOME,电脑重启Git还是可以找到.ssh目录
Git version 2.x系列
如果是Git version 2.x系列,请设置环境变量,增加HOME的环境变量,目录为:C:\Users\用户名(你想设置的目录),随后重启Git bash即可,输入cd ~/.ssh,会进入你设置好的目录

Git version 1.x系列
修改profile文件
如果是Git version 1.x系列,打开profile文件,文件位置:$\Git\etc\profile($替换成你的盘符)。
在profile中找到:HOME="$(cd "$HOME" ; pwd)"这个位置,在前面增加你想变成的home目录
# normalize HOME to unix path
HOME="C:\Users\用户名"
HOME="$(cd "$HOME" ; pwd)"
注意事项:
- 些操作系统或终端对中文目录的编码支持不佳,可能导致 Git 无法正确识别路径
- 解决:尽量避免在 Git 仓库路径中使用中文,或确保系统和终端使用 UTF-8 编码
- 文件权限问题
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)