修改VS Code拉取/推送Git时查找SSH密钥的路径
解决虚拟机C盘清空后SSH配置的问题
方案一:让VS Code直接读取网络驱动器的.ssh文件夹
不用复制文件,直接让Git和VS Code终端指向你的持久化网络驱动器:
1. 配置Git使用指定的SSH密钥
打开VS Code终端,执行以下命令(替换成你的网络驱动器实际路径):
git config --global core.sshCommand "ssh -i \\your-network-drive\path\.ssh\id_rsa -F \\your-network-drive\path\.ssh\config"
这个命令强制Git直接调用网络驱动器上的SSH密钥和配置文件,无需复制到C盘。
2. 修改VS Code终端的HOME环境变量
如果Git配置没生效,可以让VS Code终端把HOME指向网络驱动器,这样SSH会默认读取HOME/.ssh路径下的文件:
- 打开VS Code设置(快捷键
Ctrl+,) - 搜索
terminal.integrated.env.windows(针对Windows虚拟机) - 添加如下配置:
"terminal.integrated.env.windows": { "HOME": "\\\\your-network-drive\\path" }
保存后重启VS Code,终端里的SSH和Git就会自动读取网络驱动器上的.ssh文件夹。
方案二:自动复制.ssh到C盘(登录时自动执行)
如果更习惯用C盘的默认路径,可以做一个登录脚本自动完成复制操作:
1. 编写批处理复制脚本
新建copy_ssh.bat文件,内容如下(替换成你的实际路径):
xcopy "\\your-network-drive\path\.ssh" "%USERPROFILE%\.ssh" /E /H /Y
参数说明:
/E:复制所有子目录(包括空目录)/H:复制隐藏/系统文件(SSH密钥通常设置为隐藏状态)/Y:覆盖现有文件不弹出确认提示
2. 设置开机自动运行
按下Win+R,输入shell:startup回车,打开Windows启动文件夹,把copy_ssh.bat的快捷方式拖进去。下次登录虚拟机时,脚本会自动把网络驱动器的.ssh文件夹复制到C盘的用户目录下。
内容的提问来源于stack exchange,提问作者Harry Z. Huang
相关产品推荐
相关产品推荐

