Google MFA+Jumpserver自动连接登录

 Google MFA+Jumpserver自动连接 - https://www.cnblogs.com/iAmSoScArEd/p/16387057.html 我超怕的 

1、先安装expect

Linux CentOS:yum install expect

Linux Ubuntu:apt install expect

Mac:brew install expect

 

2、新建mfa.py,修改倒数第三行secret

import hmac, base64, struct, hashlib, time

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

if __name__ == '__main__':
    secret = ""# google MFA secret
    get_google_code(secret)
    print(get_google_code(secret))

3、创建脚本

创建 自定义文件名脚本,在这里我用sb 表示

vim sb

#!/usr/bin/expect -f
set USER "替换你的用户名"
set PASSWORD "替换成你的密码"
set PORT "替换端口号,默认22或2222"
set ADDRESS "替换堡垒机地址" #需要修改上一步,mfa.py的绝对路径 set MFA [ exec python3 {/xxx/xxx/mfa.py} ]
spawn -noecho
ssh $USER@$ADDRESS -p $PORT expect "*password:" send "$PASSWORD\n" # 如果你们堡垒机不是MFA 替换一下关键词 expect "*MFA*" send "$MFA\n" interact

 

4、添加可运行权限

chmod +x sb

5、测试

用./sb 测试能否成功?能的话往下,不能的话解决报错问题

6、修改快捷命令

如果不想设置快捷命令,就每次 ./sb 运行也可以

sb命令自定义,然后执行时修改绝对路径为上面sb文件的路径,如:使用pwd,sb在/User/xxx/ 则每次使用 ./User/xxx/sb 运行

 

如果想要在任意路径下随时输入sb都能启动,看下面的配置

方法一(推荐)

若MAC使用的不是zsh,可以在下面的路径替换为vim ~/.bash_profile (不存在可使用touch ~/.bash_profile新建后编辑)

添加PATH环境变量

1、新建一个专门存放自定义脚本命令的文件夹如:selfDefine,后续自定义的都可以放这个里面,而且不需要二次配置,可以直接访问

2、将sb脚本放到selfDefine

3、 配置环境变量

MAC: vim ~/.zshrc

Linux: vim ~/.bashrc

添加(记得修改路径为自己的存放路径)以下内容

export PATH="$PATH:这里改成你自己创建的路径/selfDefine"

4、保存后直接生效,或者可以选择关闭终端后重新打开

MAC: source ~/.zshrc

Linux: source ~/.bashrc

 

方法二

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

 

 

7、结束

任意工作路径下都可以使用sb登录,非常爽

 

posted @ 2022-06-17 21:07  我超怕的  阅读(891)  评论(0编辑  收藏  举报