关于xshell快速命令集
xshell在使用时,比如说引入了堡垒机(jumpserver)的MFA双因子登录,每次都会去手机查看,有点不方便。
通过python脚本,生成mfa验证码。
import hmac, base64, struct, hashlib, time, re def 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 h def 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' % googlecode def get_current_row_info(num: int): """ 获取终端当前行num个字符 """ screenRow = xsh.Screen.CurrentRow line = xsh.Screen.Get(screenRow, 1, screenRow, num) return line def Main(): # google MFA secret # 这里替换成自己的 secret(在绑定mfa时,会出一个secret,记下这个值) secret = "xxx" mfacode = get_google_code(secret) #输出到屏幕 #xsh.Screen.Send("{code}".format(code=mfacode)) # 通过行数获取文本 #line = get_current_row_info(30)】 # 行数切割获取验证码 #items = [] #items= line.split("$") #弹出窗口,输出验证码到窗口 xsh.Dialog.Prompt("[OTP Code]: ","jumpserver-mfa-lfoss",mfacode,False);
然后,我们把这个脚本放到自己的目录下,比如 c://jumpserver.py
我们打开xshell的快速命令集,添加上这个脚本按钮,每次直接点击按钮,就能自动弹框当前的mfa,复制这个验证码。
比较遗憾的时,没法自动赋值到xshell弹出的验证码,需要手动点击快速命令集,复制。
**************************************************************************************
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想 要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
**************************************************************************************
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想 要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
**************************************************************************************