本地连接远端的服务器,Iterm2 能够说是MAC 上的一大利器了,配合脚本,能够一键直连服务器
最近因公司增强了服务器登陆验证,换了JumpServer 服务器,还减少了二次认证,必须用Google Authenticator输出6位动静验证码,能力胜利登陆,这样的话每次都得关上手机,手动输出验证码比拟麻烦,所以,我这么懒的程序猿怎么会安分的一步步操作呢,来个脚本
开始之前,先查看你的电脑装没装brew 和 expect,如果没有装置,先装完再进行后续步骤哈
装置brew
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" speed
装置expectbrew install expect
筹备工作就绪,咱们持续接下来的步骤
1、首先,给你的电脑装一个 oath-toolkitbrew 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
发表回复