Skip to content

Create symlink to win .ssh folder#6

Open
klemenza wants to merge 1 commit into
qwatts-dev:masterfrom
klemenza:ssh-symlink
Open

Create symlink to win .ssh folder#6
klemenza wants to merge 1 commit into
qwatts-dev:masterfrom
klemenza:ssh-symlink

Conversation

@klemenza
Copy link
Copy Markdown

Add automatic SSH key sharing via symlink

Summary

WSL distros now automatically share Windows SSH keys by symlinking /home/admin/.ssh to the Windows user's .ssh directory (/mnt/c/Users/{username}/.ssh). This enables git operations and Ansible deployments without manual key copying.

Changes

  • Windows username detection: Detects Windows username using USERNAME env var.
  • Symlink creation: Bootstrap script creates symlink from /home/admin/.ssh/mnt/c/Users/{username}/.ssh if Windows .ssh directory exists
  • Fallback behavior: Creates empty /home/admin/.ssh directory if no Windows .ssh found (for Ansible known_hosts module)

Benefits

  • Zero configuration - SSH keys automatically available in WSL
  • Always in sync - No copying needed, keys stay current
  • Simpler code - One ln -s command vs complex file iteration/copying
  • Works with all key types - id_rsa, id_ed25519, id_ecdsa, etc.

Technical Details

The symlink is created during bootstrap in pkg/wsl/manager.go:

ln -s "/mnt/c/Users/{username}/.ssh" /home/admin/.ssh
chown -h admin:admin /home/admin/.ssh

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant