DEV Community

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

Posted on • Edited 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

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay