Iterm2|Iterm2 + JumpServer 自动登录脚本

本地连接远端的服务器,Iterm2 可以说是MAC 上的一大利器了,配合脚本,可以一键直连服务器
最近因公司加强了服务器登陆验证,换了JumpServer 服务器,还增加了二次认证,必须用Google Authenticator输入6位动态验证码,才能成功登陆,这样的话每次都得打开手机,手动输入验证码比较麻烦,所以,我这么懒的程序猿怎么会安分的一步步操作呢,来个脚本
Iterm2|Iterm2 + JumpServer 自动登录脚本
文章图片

开始之前,先检查你的电脑装没装brew 和 expect,如果没有安装,先装完再进行后续步骤哈
安装brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed

安装expect
brew install expect
准备工作就绪,我们继续接下来的步骤
【Iterm2|Iterm2 + JumpServer 自动登录脚本】1、首先,给你的电脑装一个 oath-toolkit
brew install oath-toolkit
2、你还得获取到我上面截图的二维码下面的 Secret 后面的 key,用下面的命令验证一下你设置的对不对吧
oathtool --totp -b YOUR-PRIVATE-KEY
3、如果上面的都没有问题,直接来上脚本
#!/usr/bin/expect set jumpusr user_name set pwd password set jumphost 172.16.XXX.XX set host [lindex $argv 0]catch {spawn ssh -p 22 $jumpusr@$jumphost} expect "*password:*" send "$pwd\r" expect "*MFA*" { set code [exec sh -c {oathtool --totp -b YOUR-PRIVATE-KEY}] send "$code\r"}expect { "*Opt>*" { send "[lindex /$argv 0]\r"; exp_continue} "*Host*" { send "1\r1\r"} }# 此处看运维给你的什么权限,直接进入app的话下面的可以删除 expect "*$*" { send "sudo su - app\r" }interact

    推荐阅读