Win10中使用ssh访问WSL

win10的WSL作为目前日常必备,实在是爱不释手,奈何默认终端界面实在一言难尽,尽管配色问题可以解决,但是字体问题导致ohmyzsh的很多图标无法正常显示,配置好powerline字体略有改善,但配合tmux使用又会出现乱码问题,实在难以忍受,于是准备通过ssh间接访问。

配置ssh

重装openssh-server, 如果自带的没问题也不用重装。

sudo apt remove openssh-server
sudo apt install openssh-server

修改/etc/ssh/sshd_config

# 服务端每分钟发送一次数据包给客户端,客户端回复即保持连接
ClientAliveInterval 60
# 客户端3次未响应则断开
ClientAliveCountMax 3

# 开启密码认证,拒绝空密码
PasswordAuthentication yes
PermitEmptyPasswords no

手动启动ssh, 可以用以下方法,二选一

sudo service ssh start
sudo /etc/init.d/ssh start

开机自启动

为了保证每次开机可以直接通过putty打开WSL,需要开机自启动ssh,怎么实现呢,参考知乎文章 WSL 服务自动启动的正确方法 ,简单整理如下:

  • Win R运行shell:startup打开windows的自启动目录
  • 添加脚本wsl.vbs, 输入以下信息然后保存文件
Set ws = CreateObject("Wscript.Shell")
ws.run "wsl -d ubuntu -u root /etc/init.d/ssh start", vbhide

字体

安装 Fira code 字体,超46k的star,还是很强大的。安装后修改下putty和VSCode的字体。

  • putty,打开settings,选择Window->Appearance->Font settings, 设置Fira code字体。
  • VSCode,打开settings,搜索"font family",在已有字体中加入Fira Code Retina字体。

VSCode Font family

配置VSCode的原因是VSCode本身也可以使用WSL,所以字体方面也可以进行修正。

putty

putty除了配置字体外,还可以配置Alt-Enter全屏快捷键,当然最主要的还是配置连接WSL的ssh. 由于是本机,使用localhost或者127.0.0.1就可以。

putty wsl

同时配置下默认用户名,可以免去每次打开时输入用户名的麻烦。

putty default user

最后来看下连接后的效果

putty tmux

好啦,完结撒花~

参考