自从Putty版本0.77以后,你不再需要使用"wsl-ssh-pageant"或者PLINK了。
这使得在vscode中使用pageant作为ssh-agent来进行git操作变得更加简单。
<= Windows 10: 请按照完整的说明进行操作。
>= Windows 11: 只需忽略设置环境变量GIT_SSH即可。
前提条件:
Putty / Pageant >= 版本0.77,并使用新的命令
pageant.exe --openssh-config %USERPROFILE%\.ssh\pageant.conf
启动。它会生成一个文件,如果该文件包含在.ssh\config中,它会将ssh指向pageant。
请注意:生成的文件与正在运行的pageant.exe实例绑定,并且每次启动时都会更改!最简单的方法是将其包含在自动启动中,您还可以添加私钥。
在git中加载正确的OpenSSH公钥。(
Putty格式的公钥.ppk
不起作用!)
在
pageant中加载相应的OpenSSH私钥。
创建文件"%USERPROFILE%\.ssh\config"并添加以下行
include "pageant.conf"
。它将加载由pageant生成的文件以指向pageant。
Win11中不适用!对于vscode,环境变量
GIT_SSH
必须指向Windows的ssh可执行文件,通常位于
C:\Windows\System32\OpenSSH\ssh.exe
。要在受管理员限制的系统上永久设置此项,请在Powershell中执行。
[Environment]::SetEnvironmentVariable("GIT_SSH", "$((Get-Command ssh).Source)", [System.EnvironmentVariableTarget]::User)
它将添加一个永久的用户特定环境变量,可以被vscode使用(在注册表中查看
Computer\HKEY_CURRENT_USER\Environment\GIT_SSH
)。
现在测试命令行中的git访问,以查看ssh访问您的git仓库是否正常工作。
打开一个新的
cmd
提示符。如果以下命令类似,则一切都会很好:
C:\Users\<myuser>> ssh -T git@<your-git-url-goes-here>
Welcome to GitLab, @<your username in git>!
如果它像这样工作,你可以开始在vscode中尝试使用git。但别忘了重新启动vscode。