主页 >> 程序猿的东西 >> JumpServer 自动登录 ssh 脚本

JumpServer 自动登录 ssh 脚本

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

发表评论