Iterm2|Iterm2 + JumpServer 自动登录脚本
本地连接远端的服务器,Iterm2 可以说是MAC 上的一大利器了,配合脚本,可以一键直连服务器
最近因公司加强了服务器登陆验证,换了JumpServer 服务器,还增加了二次认证,必须用Google Authenticator输入6位动态验证码,才能成功登陆,这样的话每次都得打开手机,手动输入验证码比较麻烦,所以,我这么懒的程序猿怎么会安分的一步步操作呢,来个脚本
文章图片
开始之前,先检查你的电脑装没装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
推荐阅读
- CAD工程二次开发总结|CAD二次开发--像纬地与CASS程序一样双击桌面图标实现插件的自动挂载(不用netload也不用进入后输入挂载命令)
- 无人与自动驾驶应用|自动驾驶祛魅:从降维打击到降维求生
- 微信小商店连接赛邮云(快速解决订单信息无法自动告知客户的问题)
- 经验分享|这是我见过最牛逼的接口自动化测试框架没有之一(基于python+requests+pytest+allure实现)
- 自动化测试|Python接口自动化测试框架(Pytest+Allure+jsonpath+xlrd+excel、支持Restful接口规范)
- 软件测试|python+Pytest+Allure+Git+Jenkins接口自动化框架
- python|接口自动化测试实战之pytest框架+allure讲解
- 我放弃日更了
- Zabbix|Zabbix 5.0(通过LLD方式自动化监控阿里云RDS)
- node.js模拟实现自动发送邮件验证码