The pxssh library is a part of pexpect package in python. Pxssh library provides you the way to connect as SSH client to SSH enabled servers, it handles the keys itself, so you don’t need to specially specify any line of code for it. I find it quite easier for making bruteforcing script via this particular library. But if you are looking for something that will also help you upload anything on other server then you better use Paramiko, it provides uploading capabilities too.
Let’s get on with the code:
I have provided the explanation within the code itself in # as comments. If you do not understand something, feel free to ask via comments.
#!/usr/bin/python # importing only pxssh from pexpect from pexpect import pxssh import sys #connect is my own function which takes address,username and password as command line arguments def connect(addr,username,password): user=username passwd=password print("Trying to connect...") try: s= pxssh.pxssh() #s is an object for pxssh #here in this conditional statement we will check if login is successfully dont or not, if not then print "SSH connection failed" if not (s.login(addr,user,passwd)): print("SSH Connection failed") else: print("SSH connection established with "+user+" : "+passwd) #once the login has been successfully done, the lines below will help us send commands to the connected SSH server and print the output on our console s.sendline('whoami') s.prompt() print(s.before) s.logout() except Exception as r: print(r) if len(sys.argv) < 4: print('Not enough arguments\n>>hostname,username,password required.') else: address=sys.argv username=sys.argv password=sys.argv connect(address,username,password)