Esempio n. 1
0
def connect(user, host, keyfile, release):
    global Stop
    global Fails

    try:
        perm_denied = 'Permission denied'
        ssh_newkey = 'Are you sure you want to continue'
        conn_closed = 'Connection closed by remote host'
        opt = ' -o PasswordAuthentication=no'
        connStr = 'ssh ' + user + '@' + host + ' -i ' + keyfile + opt
        child = pexpect.spwan(connStr)
        ret = child.expect([
            pexpect.TIMEOUT,
            perm_denied,
            ssh_newkey,
            conn_closed,
            '$',
            '#',
        ])

        if ret == 2:
            print '[-] Adding Host to ~/.ssh/known_hosts'
            child.sendline('yes')
            connect(user, host, keyfile, False)
        elif ret == 3:
            print '[-] Connection Closed By Remote Host'
            Fails += 1
        elif ret > 3:
            print '[+] Success. ' + str(keyfile)
            Stop = True
    finally:
        if release:
            connection_lock.release()
Esempio n. 2
0
def ssh_cmd(ip, passwd, cmd):
#	ret = -1
	ssh = pexpect.spwan('ssh root@%s' % (ip, cmd))
	i = ssh.expect(['password:'******'continue connecting (yes/no)?'], timeout=5)
	if i == 0 :
		ssh.sendline(passwd)
	elif i == 1 :
		ssh.sendline('yes\n')
		ssh.expect('password:')
		ssh.sendline(passwd)
	ssh.sendline(cmd)
	r = ssh.read()
	print r
#	ret = 0
#	expect pexpect.EOF:
	print "EOF"
	ssh.close()
	ret = -1
#	expect pexpect.TIMEOUT:
	print "TIMEOUT"
	ssh.close()
Esempio n. 3
0
def ssh_login(ip, user, passwd):
	child = pexpect.spwan('ssh -l %s %s'%(user,ip))