16 Jun 2011

SSH Checker

Labels:

import paramiko
import sys, os
import socket
import re

# - - - - - - - - - - - - - - - - #
#          SSH Checker       #
# - - - - - - - - - - - - - - - - #

#log_file    = "log.txt"
read_access = "access.txt"
sucess = 0

ssh = paramiko.SSHClient()

#    Test on connect to server
def is_work_sshd(host, dPort=22):
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.settimeout(20)
    try:
        sock.connect((host, dPort))
    except:
    #    print "Connect to ssh server timeout"
        return 1

#    print "Connect Ok"
    sock.close()
    return 0

''' Test host on avalible
def pinger(host):
    result_ping = os.popen("ping -c 3 %s" % host)
    if result_ping.read().search("bytes"):
        print "find bytes"
        return 1
    return 0
'''
def check_server(host, user, password, port=22):
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    # test on connect to ssh
    if is_work_sshd(host,port): return 2
    try:
        ssh.connect(host, username=user, password=password, port=port)
#        print "Ok"            # Connect sucess ;)
        ssh.close()             # Close ssh session
    except:
        #print 'Error'
        return 1
    return 0

if not os.path.exists(os.getcwd() + '/' + read_access):
    print "File not found!"
    sys.exit()

fd = open(read_access, "r")
for i in fd.readlines():
     if  i[-1:] == '\n':
        i = i[:-1]
    port = 22
    #print i  #Debug blia
    res = i.split(':')
    if(len(res) > 2):
        user,host,password = res[:3]
    if(len(res) > 3):
        port = int(res[3])

    #print user, host, password, port
    ret = check_server(host, user, password, port)
    if not ret:
        print "Connect to %s [success]" % host
    elif ret == 1:
        print "Connect to %s [error]" % host
    else:
        print "Connect to %s [timeout]" % host

|

Friends Blog

Sponsors : Best Google Covers | Desktop Wallpaperslk | PSD Graphics
Copyright © 2012. bedegar - All Rights Reserved
Template Design by Cool Blogger Tutorials | Published by Templates Doctor
Powered by Blogger