wsl & Windows Termianl & expect & oathtool 实现更便捷的 xshell 体验

原创
2020/05/30 19:51
阅读数 3.5K

wsl & Windows Termianl & expect & oathtool 实现更便捷的 xshell 体验

1. wsl

1.1 安装

wsl 的发行版不限。具体的安装教程网上有很多,这里不多说。

笔者使用的发行版为 yuk7/ArchWSL

2. Windows Termianl

2.1 安装

如果 Windows 版本足够高,推荐安装 WT。

在这篇教程里 WT 的主要作用是做窗口分割(以及好看),其他类似的 terminal 也是可以的。

笔者使用的主题的配置可参考 WT 的官方文档。

2.2 WT 窗口分割

默认的快捷键是 alt+shift+d

按下 alt+left 可以实现窗格切换。

3. expect

3.1 安装

根据 wsl 发行版的不同,expect 安装方式略有不同。

Arch 系 Linux 的安装命令为 pacman -S expect

3.2 编写 expect 脚本

一般情况下,只需要在 ssh 后输入密码即可。以下是一个示例 ssh.exp

#!/usr/bin/expect

spawn ssh _user@_host

expect "password" {send "your passwordr"}
interact

3.3 执行 expect 脚本

为刚才的脚本增加可执行权限 chmod +x ssh.exp

直接运行即可。

至此,如果 ssh 服务没有开启 Google Authentication,无需进行下一步。

4. oathtool

4.1 安装

如果 ssh 服务开启了 Google Authentication,需要利用 oathtool 生成 auth code。

Arch 的安装命令是 pacman -S oath-toolkit

4.2 使用 oathtool

通过密钥生成 auth code 的命令是 oathtool --totp -b _your_secret_key_

4.3 将 oathtool 写入 expect 脚本

#!/usr/bin/expect

spawn ssh user@host

expect "Password" {send "your password\r"}
expect "code" {
        set code [exec oathtool --totp -b _your_secret_key_]
        send "$code\r"}
interact
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部