All Projects → benpye → Wsl Ssh Pageant

benpye / Wsl Ssh Pageant

Licence: bsd-2-clause
A Pageant -> TCP bridge for use with WSL, allowing for Pageant to be used as an ssh-ageant within the WSL environment.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Wsl Ssh Pageant

Weasel Pageant
Deprecated: An ssh-agent compatible helper for interacting with Pageant from processes running on the Windows Subsystem for Linux.
Stars: ✭ 256 (-32.81%)
Mutual labels:  putty, wsl, windows-subsystem-linux, ssh
Wsl Programs
A community powered list of programs that work (and those that don't) on the Windows subsystem for Linux
Stars: ✭ 931 (+144.36%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
Wsl Docker Git Setup
Shell script to configure Windows Subsystem for Linux (WSL) & Ubuntu on Windows to use docker and docker-compose as well as a git-enabled prompt
Stars: ✭ 23 (-93.96%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
Wslinstall
Install any GNU/Linux userspace in WSL
Stars: ✭ 178 (-53.28%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
Wslreverse
Experiments with hidden COM interface and LxBus IPC mechanism in WSL
Stars: ✭ 47 (-87.66%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
Wsldl
Advanced WSL launcher / installer. (Win10 FCU x64/arm64 or later.)
Stars: ✭ 782 (+105.25%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
Castle Winbuntu
Homesick Castle for use on WSL.
Stars: ✭ 87 (-77.17%)
Mutual labels:  wsl, windows-10, ssh
Centwsl
[DISCONTINUED] CentOS based WSL distribution
Stars: ✭ 766 (+101.05%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
wsl2exe
[TESTING]Use command in WSL from exe executable
Stars: ✭ 34 (-91.08%)
Mutual labels:  windows-10, wsl, windows-subsystem-linux
Archwsl
ArchLinux based WSL Distribution. Supports multiple install.
Stars: ✭ 3,667 (+862.47%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
WSL-manager
unofficial gui manager for Windows Subsystem for Linux (WSL)
Stars: ✭ 25 (-93.44%)
Mutual labels:  windows-10, wsl, windows-subsystem-linux
Wsl Ssh Agent
Helper to interface with Windows ssh-agent.exe service from Windows Subsystem for Linux (WSL)
Stars: ✭ 298 (-21.78%)
Mutual labels:  wsl, windows-subsystem-linux, ssh
Alpinewsl
Alpine Linux based WSL distribution. Supports multi-install. Lightest WSL distribution.
Stars: ✭ 203 (-46.72%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
wsl-agent-bridge
WSL compatibility bridge for ssh-agent on Windows
Stars: ✭ 17 (-95.54%)
Mutual labels:  ssh, windows-10, wsl
Awesome Wsl
Awesome list dedicated to Windows Subsystem for Linux
Stars: ✭ 3,544 (+830.18%)
Mutual labels:  wsl, windows-10, windows-subsystem-linux
ArtixWSL
Install Artix Linux as a WSL Instance.
Stars: ✭ 45 (-88.19%)
Mutual labels:  windows-10, wsl
WSLackware
Slackware for WSL!
Stars: ✭ 38 (-90.03%)
Mutual labels:  windows-10, wsl
trezor-ssh-agent
Trezor SSH Agent for Windows (Putty, WinSCP and more) + KeepKey supported!
Stars: ✭ 54 (-85.83%)
Mutual labels:  ssh, putty
win-gpg-agent
[DEPRECATED] Windows helpers for GnuPG tools suite
Stars: ✭ 214 (-43.83%)
Mutual labels:  putty, wsl
webi-installers
Primary and community-submitted packages for webinstall.dev
Stars: ✭ 421 (+10.5%)
Mutual labels:  windows-10, wsl

wsl-ssh-pageant

Build Status

Why

I use a Yubikey to store a GPG key pair and I like to use this key pair as my SSH key too. GPG on Windows exposes a Pageant style SSH agent and I wanted a way to use this key within WSL. I have rewritten this in Go as it means the release is a single simple binary, and I like Go.

How to use with WSL

  1. On the Windows side start Pageant (or compatible agent such as gpg4win).

  2. Run wsl-ssh-pageant.exe --wsl C:\wsl-ssh-pageant\ssh-agent.sock (or any other path, max ~100 characters)

  3. In WSL export the SSH_AUTH_SOCK environment variable to point at the socket, for example, if you have ssh-agent.sock in C:\wsl-ssh-pageant

$ export SSH_AUTH_SOCK=/mnt/c/wsl-ssh-pageant/ssh-agent.sock
  1. The SSH keys from Pageant should now be usable by ssh

How to use with Windows 10 native OpenSSH client

  1. On the Windows side start Pageant (or compatible agent such as gpg4win).

  2. Run wsl-ssh-pageant.exe --winssh ssh-pageant (or any other name)

  3. In cmd export the SSH_AUTH_SOCK environment variable or define it in your Environment Variables on Windows. Use the name you gave the pipe, for example:

$ set SSH_AUTH_SOCK=\\.\pipe\ssh-pageant
  1. The SSH keys from Pageant should now be usable by the native Windows SSH client, try using ssh in cmd.exe

Systray Integration

To add an icon to the systray run wsl-ssh-pageant.exe --systray --winssh ssh-pageant (or using --wsl).

Note

You can use both --winssh and --wsl parameters at the same time with the same process to proxy for both

Frequently asked questions

How do I download it?

Grab the latest release on the releases page.

How do I build this?

For WSL support you will need Go 1.12 or later,. Go 1.12 added support for AF_UNIX sockets on Windows.

To create the assets.go run:

go generate

To create a build without a console window:

go build -ldflags -H=windowsgui

What version of Windows do I need?

You need Windows 10 1803 or later for WSL support as it is the first version supporting AF_UNIX sockets. You can still use this with the native Windows SSH client on earlier builds.

The -gui.exe binary doesn't have a GUI? (immediately closes)

The difference between the gui.exe binary and the regular binaries is the subsystem as set in the PE header. The gui.exe binary is set with the Win32 subsystem so that it doesn't spawn a command line, allowing it to be launched on startup. The regular binary has the console subsystem so it does launch a command line if double clicked, and will block the command line as expected. Note: You may launch either binary with the -systray flag to have a systray icon whilst the tool is running, this only provides a way to quit the application.

You didn't answer my question!

Please open an issue, I do try and keep on top of them, promise.

Credit

  • Thanks to John Starks for npiperelay for an example of a more secure way to create a stream between WSL and Linux before AF_UNIX sockets were available.
  • Thanks for Mark Dietzer for several contributions to the old .NET implementation.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].