DEV Community

Cover image for [OmniSSHAgent] Consolidate the chaos of Windows ssh-agent into one.
YAMASAKI Masahide
YAMASAKI Masahide

Posted on • Updated on

[OmniSSHAgent] Consolidate the chaos of Windows ssh-agent into one.

OmniSSHAgent

OmniSSHAgent

Communication method between ssh-agent and ssh command

There are multiple ways of communication between ssh client and ssh-agent in windows environment.

  • PuTTy pageant event message communication
  • Unix domain socket in Cygwin(MSYS2)
  • Windows Named pipe
  • Unixdomain socket of WSL1
  • WSL2's Unixdomain socket

Since these communication methods are different, there are various ssh-agent proxy tools to perform each communication.

wsl-ssh-ageant

https://github.com/rupor-github/wsl-ssh-agent

Proxies ssh-agent communication from Named Pipe to WSL1.

wsl-ssh-pageant

https://github.com/benpye/wsl-ssh-pageant

Proxy ssh-agent communication from PuTTy (pageant) to Named Pipe and WSL1.

ssh-pageant

https://github.com/cuviper/ssh-pageant

Proxies ssh-agent communication from Putty (pageant) to Cygwin/MSYS2.

npiperelay/socat

https://github.com/jstarks/npiperelay

Proxy ssh-agent communication from Named Pipe to WSL2.

Add a secret key to ssh-agent (ssh-add).

ssh-add

https://man.openbsd.org/ssh-add.1
Add your private key to ssh-agent by using ssh-add command which is provided for each environment.

KeePassXC

https://keepassxc.org/
Password manager has ssh-add function.
It supports PuTTY (pageant) and Named pipe ssh-agent communication.

Chaos Map of SSH-Agent on Windows

As you can see, there are many different ssh-agent communication methods and tools in Windows, and they are all intertwined in a complex way.
The following is a diagram of the ssh-agent communication path in Windows. As you can see, it's very chaotic.

Chaos Map of SSH-Agent on Windows

Connection diagram of OmniSSHAgent

OmniSSHAgent is a program to simplify what used to be a chaotic situation, as shown in the following figure.
OmniSSHAgent

Usage and Setup

For more information on how to use and setup, click here.
https://github.com/masahide/OmniSSHAgent

Top comments (0)