马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?开始注册
x
Google MFA+Jumpserver自动连接 - 1、先安装exceptLinux CentOS:yum install except Linux Ubuntu:apt install except Mac:brew install except
- L! a! }# [; V% Q2、新建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))4 o' S ^& k4 d" V% @/ m% J3 s* l
3、创建脚本创建 自定义文件名脚本,在这里我用sb 表示vim sb #!/usr/bin/expect -fset USER "用户名自己改"set PASSWORD "密码自己改"set PORT "端口号我没用,需要的自己加"#下面python3 以及mfa.py的绝对路径自己修改set MFA [ exec python3 {/xxx/xxx/mfa.py} ] 3 T; O; ]: t( o' T0 D# ]
# 这里需要修改xxx.xxx.com为你们jumpserver的地址spawn -noecho ssh $USER@xxx.xxx.comexpect "*password:"send "$PASSWORD\n"# 如果你们堡垒机不是MFA 替换一下关键词expect "*MFA*"send "$MFA\n"interact/ w9 J6 ~( G/ u6 X% _- F
( r6 A$ W, G6 S N7 ~8 X
4、添加可运行权限chmod +x sb 5、测试用./sb 测试能否成功?能的话往下,不能的话解决报错问题 6、修改快捷命令如果不想设置快捷命令,就每次 ./sb 运行也可以 sb命令自定义,然后修改绝对路径为上面操作你保存的路径
( Z0 r# H* t( Q; I x" i1 F: h& Z如果想要在任意路径下随时输入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
' l9 ?9 {. i. o% [ n/ M# E( V% A7 r' q" x- W
7、结束# Z' Q' ^8 d6 M$ r/ r6 G
3 Z& W" c; {' a1 _) V
|