广州网站设计 信科网络,网站意义学校,wordpress adams主题,公司简介网站模板1、JumpServer开启MFA认证
开启MFA认证#xff1a; 开启后效果#xff1a; 2、使用浏览器登录堡垒机#xff0c;配置MFA 按需下载对应app进行绑定 到此手机绑定成功#xff0c;登录时候可以在手机app查看动态码。
但是每次登录#xff0c;都需要打开手机#xff0c;…1、JumpServer开启MFA认证
开启MFA认证 开启后效果 2、使用浏览器登录堡垒机配置MFA 按需下载对应app进行绑定 到此手机绑定成功登录时候可以在手机app查看动态码。
但是每次登录都需要打开手机找到动态码手动输入很麻烦
使用SecureCRT可实现自动输入很方便快捷。
3、生成动态码python脚本内容如下
需要将google_secret改为你的Secret
import sys
import calendar
import datetime
import hashlib
import time
import base64
import hmac
import codecs
import reclass OTP(object):def __init__(self, s, digits6, digesthashlib.sha1, nameNone, issuerNone):self.digits digitsself.digest digestself.secret sself.name name or Secretself.issuer issuerdef generate_otp(self, input):if input 0:raise ValueError(input must be a positive integer)hasher hmac.new(self.byte_secret(), self.int_to_bytestring(input), self.digest)hmac_hash bytearray(hasher.digest())offset hmac_hash[-1] 0xfcode ((hmac_hash[offset] 0x7f) 24 |(hmac_hash[offset 1] 0xff) 16 |(hmac_hash[offset 2] 0xff) 8 |(hmac_hash[offset 3] 0xff))str_code str(code % 10 ** self.digits)while len(str_code) self.digits:str_code 0 str_codereturn str_codedef byte_secret(self):secret self.secretmissing_padding len(secret) % 8if missing_padding ! 0:secret * (8 - missing_padding)return base64.b32decode(secret, casefoldTrue)staticmethoddef int_to_bytestring(i, padding8):result bytearray()while i ! 0:result.append(i 0xFF)i 8return bytes(bytearray(reversed(result)).rjust(padding, b\0))class TOTP(OTP):def __init__(self, s, digits6, digesthashlib.sha1, nameNone, issuerNone, interval30):self.interval intervalsuper(TOTP, self).__init__(ss, digitsdigits, digestdigest, namename, issuerissuer)def now(self):return self.generate_otp(self.timecode(datetime.datetime.now()))def timecode(self, for_time):if for_time.tzinfo:return int(calendar.timegm(for_time.utctimetuple()) / self.interval)else:return int(time.mktime(for_time.timetuple()) / self.interval)def Main():google_secret 此处替换为刚才记录的Secretcode TOTP(sgoogle_secret,interval30).now()tab crt.GetScriptTab()if tab.Session.Connected ! True:crt.Dialog.MessageBox(Session Not Connected)returntab.Screen.Synchronous Truetab.Screen.WaitForStrings([Please Enter MFA Code.[OTP Code]: ])tab.Screen.Send({code}\r.format(codecode))returnMain()
4、配置SecureCRT
设置自动输入密码引用刚才的python脚本 5、验证
双击左侧刚才配置的主机进行登录 6、已自动登录完美很省事方便