概要
タイトルの通り、WSL2上で動作しているUbuntuにWindows側の%USERPROFILE%\.sshフォルダへのシンボリックリンクを作成する方法について記載する。
環境
- Windows 11 Pro (OSビルド: 22000.348)
- Ubuntu 20.04.3 LTS
前提
- 既にWindows側の%USERPROFILE%\.sshが存在すること。
- WSL2導入済みなこと。(WSL1では未確認のため)
結論
行頭の[Ubuntu] or [Windows]はコマンドを実行する環境。
-
[Ubuntu]
/etc/wsl.conf
を以下の内容で作成する。既に存在する場合は追記する。[automount] options = "metadata"
-
[Windows] WSLを再起動する
wsl --shutdown
-
[Ubuntu] シンボリックリンクを作成する
# [USERNAME]は環境に合わせて書き換えてください ln -s /mnt/c/Users/[USERNAME]/.ssh ~/.ssh
-
[Ubuntu] .sshフォルダのパーミッションを変更する
# [USERNAME]は環境に合わせて書き換えてください chmod 0700 /mnt/c/Users/[USERNAME]/.ssh chmod 0600 /mnt/c/Users/[USERNAME]/.ssh/*
-
終わり
注意点
上記の1と2の作業をし忘れると、パーミッションを変更できず、秘密鍵を利用する際に怒られるので注意。
何故シンボリックリンクを作成するのか
Windows上で管理している秘密鍵を使って、WSL2のUbuntuからGitHubへssh接続したいため。
以前はWindowsからUbuntuにコピーして運用していたが、config
ファイルの変更をUbuntu側に反映させ忘れたりとオペレーションミス的なことが頻発していてストレスだった。
ならシンボリックリンク作ればいいじゃん!!という至極当然のお話。