DevOps

跳板机MFA自动登录 (Mac环境)

2022-03-01  本文已影响0人  国服最坑开发
naruto

0x01 痛点

跳板机一般以ssh 方法登录, 但我们一般都会给跳板机再安排一个 2FA/MFA 动态认证码.
那么普通的 expect 大法, 就不满足我们的一键登录了.
好在这个痛点早就有人解决了, 这里记录一下使用方法.

0x02 目标

最终的代码如下:

#!/usr/bin/expect
spawn ssh -p 22 USER@1.2.3.4
expect "*password*" {send "PWD\r"}
expect "*auth*" {
        set code [exec oathtool --totp -b SECKEY ]
        send "$code\r"}
interact

其中, USER, PWD 就是跳板机的固定登录信息.
SECKEY 是 MFA 的 密钥, 后面会讲到如何提取.

0x03 依赖安装

cd extract_otp_secret_keys
python -m venv venv
. venv/bin/activate
pip install -r requirements-buildenv.txt
pip install -r requirements.txt

0x04 使用

将上述得到的 SECKEY代入 第二步代码中, 就完成了一键登录功能.

PS. 我们还可以这样使用 , 在需要网页登录的时候, 不需要去查手机APP啦~

alias smCode="echo `oathtool --totp -b SECKEY `| pbcopy"

命令行输入 : smCode
然后到网页上去 Cmd+V

hf ~

上一篇 下一篇

猜你喜欢

热点阅读