马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Google MFA+Jumpserver自动连接 - 1、先安装exceptLinux CentOS:yum install except Linux Ubuntu:apt install except Mac:brew install except : h% s$ H; M" w+ @# f" e% I
2、新建mfa.py,修改倒数第三行secretimport hmac, base64, struct, hashlib, timedef get_hotp_token(secret, intervals_no): key = base64.b32decode(secret, True) msg = struct.pack(">Q", intervals_no) h = hmac.new(key, msg, hashlib.sha1).digest() # 加上chr字符串 o = ord(chr(h[19])) & 15 h = (struct.unpack(">I", h[o:o+4])[0] & 0x7fffffff) % 1000000 return hdef get_totp_token(secret, bias): return get_hotp_token(secret, intervals_no=int(time.time()+bias)//30)def get_google_code(secret): googlecode = get_totp_token(secret, 3) return '%06d' % googlecodeif __name__ == '__main__': secret = ""# google MFA secret get_google_code(secret) print(get_google_code(secret)) h! U7 }5 M/ x, z( N: V
3、创建脚本创建 自定义文件名脚本,在这里我用sb 表示vim sb #!/usr/bin/expect -fset USER "用户名自己改"set PASSWORD "密码自己改"set PORT "端口号我没用,需要的自己加"#下面python3 以及mfa.py的绝对路径自己修改set MFA [ exec python3 {/xxx/xxx/mfa.py} ] * K* z) V8 e( q6 H5 y) m; k
# 这里需要修改xxx.xxx.com为你们jumpserver的地址spawn -noecho ssh $USER@xxx.xxx.comexpect "*password:"send "$PASSWORD\n"# 如果你们堡垒机不是MFA 替换一下关键词expect "*MFA*"send "$MFA\n"interact
3 _0 i# [( K5 _1 S8 ~0 A# I1 Z4 C) T& [5 i
4、添加可运行权限chmod +x sb 5、测试用./sb 测试能否成功?能的话往下,不能的话解决报错问题 6、修改快捷命令如果不想设置快捷命令,就每次 ./sb 运行也可以 sb命令自定义,然后修改绝对路径为上面操作你保存的路径 & S _ c7 l% a" l7 j
如果想要在任意路径下随时输入sb都能启动,看下面的配置 1、设置alias MAC : vim ~/.zshrc Linux : vim ~/.bashrc 添加 alias sb="/xxx/xxx/sb" 2、当前终端生效alias MAC: source ~/.zshrc Linux: source ~/.bashrc 3、每次启动终端都能读取alias设置 vim ~/.bash_profile MAC添加 source ~/.zshrc Linux添加 source ~/.bashrc
3 j: e' t7 m: X- H+ _, K
0 g( r% h' a2 e$ F9 n+ H+ ^7、结束+ P. z0 b* s4 |6 J! {: ^; ?6 g& R
/ f2 I* |" s, J+ @9 y
|