如何修改Git默认.ssh凭证位置 解决无法创建/f/.ssh目录报错
问题根因
SSH默认将$HOME/.ssh作为密钥、已知主机列表、配置文件的存储目录。该报错的核心原因是Git Bash读取到的HOME环境变量被错误指向F盘根目录——该配置属于Windows系统层面的环境变量,与运行Git Bash时的所在路径、是否重装Git、是否断开F盘连接无直接关联,只要变量值未修正,SSH就会持续尝试访问F盘下的.ssh路径。
解决步骤
- 确认问题
打开Git Bash执行以下命令,查看当前生效的HOME路径:
如果输出内容为echo $HOME/f/开头的路径,即可确认是环境变量配置错误。 - 修改Windows用户环境变量
- 右键「此电脑」选择「属性」,依次进入「高级系统设置」→「环境变量」
- 在当前用户的用户变量列表(窗口上方的用户变量区,不是下方的系统变量区)中查找名为
HOME的条目:- 如果存在该条目,双击编辑,将变量值修改为C盘的用户目录路径,格式为
C:\Users\你的Windows登录用户名,注意不要直接指向.ssh文件夹,否则SSH会拼接出错误的.ssh/.ssh路径 - 如果不存在该条目,点击「新建」,变量名填
HOME,变量值同样填写上述C盘用户目录路径
- 如果存在该条目,双击编辑,将变量值修改为C盘的用户目录路径,格式为
- 保存所有修改后,关闭所有已打开的Git Bash窗口,重新启动Git Bash使配置生效
- 验证配置
重新在Git Bash执行echo $HOME,正常应该输出类似/c/Users/你的用户名的路径。如果你提前在该路径下创建好了.ssh文件夹并存入了对应Bitbucket凭证,SSH可以直接读取。此时再执行拉取代码操作,第一次连接Bitbucket时会提示确认主机指纹,输入yes确认后,会自动在C盘对应.ssh目录下更新known_hosts文件,不会再出现F盘路径相关报错。
可选方案(不修改全局环境变量)
如果你因为其他软件依赖原有HOME变量配置,不想修改全局环境变量,可以打开Git安装目录下的etc/bash.bashrc文件,在文件末尾添加一行配置:
export HOME=/c/Users/你的Windows登录用户名
保存后重启Git Bash即可,该配置仅对Git Bash生效,不会影响其他软件的环境变量读取。
内容的提问来源于stack exchange,提问作者Dylan Bozarth
相关产品推荐
相关产品推荐

