HPE EVA Storage

paramiko + MSA 2000 G2 cli

 
Jeff Hodge
Occasional Advisor

paramiko + MSA 2000 G2 cli

Has anyone been able to communicate with the MSA 2000 G2 cli via python and paramiko? If so, would you mind posting your code? I guess the fact that the MSA 2000 G2 implementation of the ssh server is non-standard enough that paramiko will not work. I may have to figure something out with ssh and expect.

Thanks,
Jeff
1 REPLY 1
Jeff Hodge
Occasional Advisor

Re: paramiko + MSA 2000 G2 cli

So, I was able to find someone who had a similar issue with a cisco device and copied some of his code. Here is some code that works:

#!/usr/bin/env python

import paramiko

def read_until(chan, s):
"""
Reads until s is found, returns data read
"""

buffer=[]

while "".join(buffer[-len(s):]) != s :
buffer.append(chan.recv(1))
return "".join(buffer)

HOST='hostname'
ssh=paramiko.Transport((HOST,22))
paramiko.util.log_to_file('/tmp/paramiko.log')
ssh.connect(username='manage',password='secretpassword')
sess = ssh.open_session()
sess.get_pty()
sess.invoke_shell()
print read_until(sess, '#')
sess.sendall("set cli-parameters pager off\r")
print read_until(sess, '#')
sess.sendall("show vdisk")
print read_until(sess, '#')
sess.sendall("exit\r")
ssh.close()