Iterm2 + JumpServer 自动登录脚本

本地连接远端的服务器,Iterm2 可以说是MAC 上的一大利器了,配合脚本,可以一键直连服务器

最近因公司加强了服务器登陆验证,换了JumpServer 服务器,还增加了二次认证,必须用Google Authenticator输入6位动态验证码,才能成功登陆,这样的话每次都得打开手机,手动输入验证码比较麻烦,所以,我这么懒的程序猿怎么会安分的一步步操作呢,来个脚本

Iterm2 + JumpServer 自动登录脚本_第1张图片

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

安装brew

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

安装expect
brew install expect

准备工作就绪,我们继续接下来的步骤

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

你可能感兴趣的:(Iterm2 + JumpServer 自动登录脚本)