avesome-tricks/ssh-agent-in-wsl.md
theadam 14925b27c1 + SSH agent
+ Kubectl
changes in review description
2025-01-12 16:41:28 +01:00

909 B
Executable file

SSH agent in WSL

There are a plenty of ways to enable the SSH agent in WSL to avoid the password ask at every connect to a remote host.

One of them is the following.

Add these lines to the ~/.profile file

ssh_pid=$(pidof ssh-agent)

# If the agent is not running, start it, and save the environment to a file
if [ "$ssh_pid" = "" ]; then
        ssh_env="$(ssh-agent -s)"
        echo "$ssh_env" | head -n 2 | tee ~/.ssh_agent_env > /dev/null
init=1
fi

# Load the environment from the file
if [ -f ~/.ssh_agent_env ]; then
        eval "$(cat ~/.ssh_agent_env)"
fi

After every start of WSL, add the key to the SSH agent and unlock it with the password. For example when starting the day, after WSL start ssh-add ~/.ssh/id_ed25519

todo

  • Add the ability to ask the key password on login
  • Store the SSH key between restarts (probably requires external packages)