WSL共享Windows的SSH配置
众所周知WSL和Windows各自维护一套SSH配置,也就是说Windows下配置的SSH别名不能在WSL下使用,同时Windows下也没有ssh-copy-id
这个好东西。由于我经常在Windows下使用VSCode远程开发,所以之前我非常愚蠢的每次都切换到WSL下启动ssh-copy-id -i
配置免密登录,因此想让WSL共享Windows的SSH别名和公钥。
Windows下生成SSH密钥
老掉牙的问题了,在Powershell下执行ssh-keygen.exe
,然后狂按回车(如果不想每次SSH公钥登录都输一次密码的话)。公钥就会生成在Windows用户目录下的.ssh
文件夹里。
WSL下软连接.ssh
文件夹
这一步也很正常。
1 | # WSL Environment |
配置~/.ssh
文件夹权限
这一步有点坑,默认情况下在WSL下修改Windows文件夹权限是不会生效的,所以需要稍加配置。编辑/etc/wsl.conf
(没有就创建一个),建议使用nano编辑。
1 | sudo nano /etc/wsl.conf |
并写入以下内容:
1 | [automount] |
保存并通过Powershell重启WSL。
1 | # Powershell Environment |
最后给~/.ssh
文件夹配置权限
1 | # WSL Environment |