WSL挂载SD卡上使用Git遇阻,含ssh key及配置文件问题求助
解决WSL挂载SD卡后无法使用Git的问题
1. 修正SD卡挂载权限配置
WSL默认挂载Windows分区(含SD卡)时的权限映射存在缺陷,会导致Git、SSH这类对权限敏感的工具无法正常工作。按以下步骤调整挂载配置:
- 打开Windows命令提示符,执行:
wsl --shutdown - 打开文件资源管理器,输入
%USERPROFILE%,找到对应WSL发行版的隐藏文件夹(如.Ubuntu-20.04),创建或编辑wsl.conf文件,写入:[automount] enabled = true options = "metadata,umask=022,fmask=011" mountFsTab = false - 重新启动WSL,此时SD卡挂载目录会拥有符合Linux规范的权限。
2. 重新生成SSH密钥
之前在挂载目录生成密钥失败是权限问题,按以下步骤操作:
- 进入SD卡挂载路径(通常为
/mnt/d,根据实际盘符调整),创建并配置.ssh目录权限:mkdir -p /mnt/d/.ssh chmod 700 /mnt/d/.ssh - 生成SSH密钥:
保存路径指定为ssh-keygen -t ed25519 -C "your-email@example.com"/mnt/d/.ssh/id_ed25519,按提示完成操作。 - 加载密钥到SSH代理:
eval "$(ssh-agent -s)" ssh-add /mnt/d/.ssh/id_ed25519
3. 配置Git使用新密钥
让Git指向挂载目录的SSH密钥:
- 全局生效(所有仓库适用):
git config --global core.sshCommand "ssh -i /mnt/d/.ssh/id_ed25519" - 单仓库生效:进入目标仓库目录后执行:
git config core.sshCommand "ssh -i /mnt/d/.ssh/id_ed25519"
4. 测试Git Clone操作
执行clone命令,指定SD卡路径作为目标:
git clone git@github.com:username/repo.git /mnt/d/your-target-folder
若使用HTTPS仓库仍遇权限问题,修正目标目录所有者:
sudo chown -R $USER:$USER /mnt/d/your-target-folder
内容的提问来源于stack exchange,提问作者Doktor Abdou
相关产品推荐
相关产品推荐

