我使用Yubikey存储GPG密钥对,我也喜欢将此密钥对作为我的SSH键。 Windows上的GPG公开了选美风格的SSH代理,我想要一种在WSL中使用此键的方法。我已经对此进行了重写,因为这意味着该版本是一个简单的二进制文件,我喜欢Go。
在Windows侧开始选美比赛(或兼容的代理,例如GPG4WIN)。
运行wsl-ssh-pageant.exe --wsl C:wsl-ssh-pageantssh-agent.sock (或任何其他路径,最大〜100个字符)
在WSL中导出SSH_AUTH_SOCK环境变量,例如指向插座,例如,如果您在C:wsl-ssh-pageant中有ssh-agent.sock
$ export SSH_AUTH_SOCK=/mnt/c/wsl-ssh-pageant/ssh-agent.sock
ssh使用在Windows侧开始选美比赛(或兼容的代理,例如GPG4WIN)。
运行wsl-ssh-pageant.exe --winssh ssh-pageant (或任何其他名称)
在cmd中,导出SSH_AUTH_SOCK环境变量或在Windows上的环境变量中定义它。例如,使用您给管道的名称,例如:
$ set SSH_AUTH_SOCK=\.pipessh-pageant
cmd.exe中的ssh 要在systray运行wsl-ssh-pageant.exe --systray --winssh ssh-pageant (或使用--wsl )中添加图标。
您可以同时同时使用--winssh和--wsl参数,同时使用相同的过程来代理两者
在版本页面上获取最新版本。
对于WSL支持,您将需要1.12或更高版本。 GO 1.12添加了对Windows上AF_UNIX插座的支持。
创建资产。运行:
go generate
在没有控制台窗口的情况下创建构建:
go build -ldflags -H=windowsgui
您需要Windows 10 1803或更高版本才能获得WSL支持,因为它是支持AF_UNIX插座的第一个版本。您仍然可以在早期构建上与本机Windows SSH客户端一起使用它。
GUI.EXE二进制和常规二进制文件之间的差异是PE标头中设置的子系统。 GUI.EXE二进制文件设置为Win32子系统,因此它不会产生命令行,从而可以在启动上启动它。常规二进制文件具有控制台子系统,因此如果双击双击,它确实会启动命令行,并会按预期阻止命令行。注意:您可以启动带有-systray标志的二进制文件以在工具运行时具有SYSTRAY图标,这仅提供了一种退出应用程序的方法。
请打开一个问题,我确实尽力保持他们的顶部,保证。
AF_UNIX插座之前在WSL和Linux之间创建流。