def telnet_connect(hostname, username, password):
t = telnetlib.Telnet(hostname)
t.read_until(b'login:', 10)
t.write(username.encode('utf-8'))
t.write(b'
')
t.read_until(b'Password:', 10)
t.write(password.encode('utf-8'))
t.write(b'
')
n, match, previous_text = t.expect([br'Login incorrect', br'$'], 10)
if n == 0:
print('Username and password failed - giving up')
else:
t.write(b'exec ps aux
')
t.write(b'exec exit
')
print(t.read_all().decode('utf-8'))
t.close()
if __name__ == '__main__':
if len(sys.argv) < 2:
print "Usage: python telnet_login.py hostname username"
hostname = sys.argv[1]
username = sys.argv[2]
password = getpass.getpass('Password: ')
telnet_connect(hostname, username, password)