安装 WSL 后,里面的 ssh 等程序本身就是一个非常好的 ssh 客户端。但是如果要从 cmd 环境运行的话,需要输入 bash -c "ssh user@host",比较麻烦。把下面的 ssh.cmd 加入到 PATH 可以简化掉前面的 bash -c,变为 ssh user@host 以减少输入的长度。

ssh.cmd:

@SETLOCAL EnableDelayedExpansion
@SET args=%*
@SET args=!args:\=\\!
@SET args=!args:"=\"!
@bash -c "%~n0 %args%"

这段 cmd 脚本不只可以用来做 ssh 的快捷方式,也可以拿来做 scp 等程序的快捷方式(但使用绝对路径时需要用 /mnt/c/path/to/file 的形式)。使用该脚本可以方便地在 cmd 环境中调用 WSL 中的程序。

脚本只做了最简单的转义,但在日常中应该是足够使用了。


2017/11/01 追记:

Windows 10 秋季创意者更新版可以使用原生的 ssh 和 scp 了。美中不足的是不支持 rsa 密钥。


2018/06/14 追记:

Windows 10 1803 版本已经支持了 rsa 密钥。此外,bash -c 可以简单地替换为 wsl,转义之类的操作应该也不再需要了。