Bridge to Windows OpenSSH agent from Pageant protocol. The OpenSSH agent has the keys and this proxies pageant requests to it.
WinSSH-Pageant is a utility designed to bridge the Pageant protocol with the Windows OpenSSH agent. It enables seamless communication between tools that rely on Pageant (such as Putty or Pageant) and the OpenSSH agent, allowing users to utilize keys managed by the OpenSSH agent without requiring additional key management setups.
README
WinSSH-Pageant
Proxy Pageant requests to the Windows OpenSSH agent (from Microsoft), enabling applications that only support Pageant to use openssh.
I use the Windows OpenSSH agent as my single ssh key backing. Many solutions exist that do the opposite of this, but I prefer the convenience of Windows OpenSSH agent.
This has been tested on Windows 10 2004 using WSL2. Earlier versions of windows up to 1803 should work too.
Installation
WinSSH-Pageant now features an MSI installer for easy upgrading and install/uninstall actions. The installer will:
Create an appropriate, user-specific autostart entry which you can manager from Task Manager -> Startup tab
Autostart the application after the installer is finished
Bridge Functionality: Proxies Pageant requests to the OpenSSH agent, enabling compatibility between tools that use Pageant and those that rely on OpenSSH.
Windows Compatibility: Works seamlessly with Windows 10/11 environments where the OpenSSH client is installed.
Key Management Simplification: Eliminates the need for separate key management systems by leveraging the existing OpenSSH agent.
Audience & Benefit:
Ideal for developers, sysadmins, and users who work with SSH-based tools on Windows. By using WinSSH-Pageant, users can streamline their workflow by integrating Pageant-dependent applications with the OpenSSH agent, reducing setup complexity and improving efficiency. It can be installed via winget for easy deployment.
git clone https://github.com/ndbeals/winssh-pageant.git
cd winssh-pageant
Easy Build Instructions
go build -ldflags="-w -s -H=windowsgui" -trimpath
Advanced Build Instructions
The build script build.ps1 accepts numerous, optional flags and two dev dependencies. Install the dev dependencies:
go install github.com/josephspurrier/goversioninfo@latest
go install github.com/mh-cbon/go-msi@latest
Run the build script:
.\build.ps1 -Release
The release flag is optional, though highly recommended, if it is omitted you do not need the two aforementioned dev dependencies.
Antivirus Flagging
Your antivirus software may flag this as malware, It's a false positive and a known quirk with go binaries (). The official releases use reproducible builds via -trimpath. The expected checksums are posted with the release they're meant for, some users may choose to build this project themself and confirm the checksums, sha256sum.
Big thanks to , Ben Pye and the other contributors for the examples of interacting with the win32 api, the build script, and help they have given me directly.
for a working example of how to open a file mapping another process created.
@meilon for reporting an internationalization bug and testing the fix for me.