对于很多公司来说、都会要求在登录云平台,如AWS云,阿里云,或者堡垒机Console ,甚至操作系统时,都会要求登录时,进行二次认证
也即是多因素,多因子,MFA认证,关于多因素认证、一般有短信验证码,软件生成code,或者邮件接收Code,都可以实现
今天笔者主要讲述,如何通过python代码进行实现,AWS,阿里云、或者常用的堡垒机Console界面的二次MFA认证实现
核心是使用的OTP(One-Time Password,一次性密码),它是一种基于时间同步算法(TOTP)的二次验证方式,从密码学算法的角度来说属于单向
先看看笔者python作品的界面如下,每一秒刷新一次(当然实际Code值的变化周期一般为30秒),点击右侧的Copy按钮可以进行前面动态口令的复制
Ptyhon代码核心如下,包括其算法生成及Copy到系统粘贴板:
for i in range(AccountNumber): LabelList[i]=tkinter.Label(root,text=AccountInformation[i][0]) LabelList[i].grid(row=i,column=0,padx=10,pady=3) TextList[i]=tkinter.Text(root,width=30,height=1) TextList[i].grid(row=i,column=1,padx=1,pady=3) ButtonList[i]=tkinter.Button(root, text="Copy",command=functools.partial(TextContentCopy,root,TextList[i]),width=15,height=1) ButtonList[i].grid(row=i,column=2,padx=10,pady=3) def confirm(): for i in range(AccountNumber): TkinterTextDelete(TextList[i]) TextList[i].insert("0.0",pyotp.TOTP(AccountInformation[i][1]).now()) root.after(1000,confirm)
要生成动态口令,我们只需要准备好相应的二维码,将其转换成字符密钥,或者直接使用密钥都是可以的~
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17555938.html
标签:MFA,Console,python,AWS,认证,多因子,root,TextList From: https://www.cnblogs.com/5201351/p/17555938.html