EasyManua.ls Logo

Lantronix EMG Series

Lantronix EMG Series
482 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
12: Scripts
EMG™ Edge Management Gateway User Guide 272
Python Custom Script - EMG CLI Session
An example of a Python Custom Script that interacts with a CLI session:
#! python
# Script to set the RADIUS authentication settings of the EMG
# Sets the first RADIUS server and secret, and enables RADIUS
# Note: passing secret as a command line parameter is a security
vulnerability
# Usage:
# script_cli_radius.py <RADIUS server> <RADIUS secret>
#
import subprocess
import datetime
import sys
num_args = len(sys.argv) - 1
if num_args < 2:
print("Usage: script_cli_radius.py <RADIUS server> <RADIUS secret>")
sys.exit(1)
print("Settings RADIUS server on EMG at ", end="")
now = datetime.datetime.now()
print(now.strftime("%Y-%m-%d %H:%M"))
server = sys.argv[1]
secret = sys.argv[2]
proc = subprocess.Popen(['clisession', '-U', 'sysadmin'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
# wait for prompt
while True:
output_str = proc.stdout.readline()
if b'list of commands' in output_str:
proc.stdin.write(b'\n')
proc.stdin.flush()
if b']> ' in output_str:
break
if b'Invalid local user' in output_str:
print("Invalid local user passed to clisession.")
proc.stdin.close()
proc.terminate()
proc.wait()
sys.exit(1)
# Run the RADIUS command
s = "set radius server 1 host " + server + " secret " + secret + "\n"
b = bytearray(s.encode())
proc.stdin.write(b)
proc.stdin.flush()

Table of Contents

Other manuals for Lantronix EMG Series

Related product manuals