JumpServer是一款符合4A规范的开源堡垒机,被广泛使用作为专业运维安全审计系统。它提供了安全管控和登录多种类型资产的功能,包括SSH、Windows、数据库、NoSQL、GPT、云服务、Web站点和应用。通过JumpServer,企业能够以更安全的方式管理和访问这些资产。
SSH是一种加密的网络传输协议,被广泛用于在不安全的网络环境下提供安全的传输服务。它通过建立安全隧道来连接SSH客户端和服务器。主要用途之一是远程登录系统,人们常用SSH传输命令行界面和执行远程命令。
JumpServer 支持 ssh 方式登录,我们可以用下面的脚本实现自动连入 ssh。只需要配置ssh 地址和账号密码,MFAstr是二次验证的种子字符串,可以在开启二次验证扫码的时候看到二维码下方的一串字符串。
但是千万要注意脚本的安全,因为它保存了你的所有登录验证信息!!!
#!python import sys import pexpect import pyotp import struct, fcntl, termios, signal, sys host = '192.168.20.20' port = '2345' username = 'user1' password = 'abcde12345' MFAstr = 'AULAFYZJJF9K2OAD' def terminal_size(): h, w, hp, wp = struct.unpack('HHHH', fcntl.ioctl(0, termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0))) return h, w default_rows, default_columns = terminal_size() child = pexpect.spawn("ssh {}@{} -p {}".format(username, host, port)) child.setwinsize(default_rows, default_columns) totp = pyotp.TOTP(MFAstr) child.expect([pexpect.TIMEOUT, 'password']) child.sendline(password) child.expect([pexpect.TIMEOUT, 'MFA']) child.sendline(totp.now()) child.interact() child.expect([pexpect.TIMEOUT, pexpect.EOF])
JumpServer 下载
https://github.com/jumpserver/jumpserver/releases/tag/v3.10.1