Skip to content

Instantly share code, notes, and snippets.

@h4de5
Last active October 2, 2023 13:33
Show Gist options
  • Star 11 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save h4de5/4514e55f8677c71c91dc18a7a1e29119 to your computer and use it in GitHub Desktop.
Save h4de5/4514e55f8677c71c91dc18a7a1e29119 to your computer and use it in GitHub Desktop.
Use putty's SSH key agent (pageant) from windows in WSL bash - no more "ssh-add" needed

prepare on windows cmd

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

mkdir workspace
cd workspace
git clone git@github.com:benpye/wsl-ssh-pageant.git
cd wsl-ssh-pageant
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /out:wsl-ssh-pageant.exe Program.cs

prepare bash on wsl

sudo apt install socat

add to .bashrc

vi ~/.bashrc
if [ -f $HOME/wsl-ssh-pageant.sh ]; then
   . $HOME/wsl-ssh-pageant.sh
fi

create wsl-ssh-pageant.sh file

vi ~/wsl-ssh-pageant.sh
#!/bin/bash
# set home directory:
win_user_dir=$USER
# check if wsl-ssh-pageant is already running
pgrep -l wsl-ssh-pageant
if [ $? != 0 ] ; then
        /mnt/c/Users/$win_user_dir/workspace/wsl-ssh-pageant/wsl-ssh-pageant.exe &
fi
socat UNIX-LISTEN:/tmp/wsl-ssh-pageant.socket,unlink-close,unlink-early,fork TCP4:127.0.0.1:13000 &
export SSH_AUTH_SOCK=/tmp/wsl-ssh-pageant.socket
@h4de5
Copy link
Author

h4de5 commented Oct 19, 2020

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment