python paramiko ssh

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import paramiko


#ssh 功能

ssh = paramiko.SSHClient()

ssh.load_system_host_keys()  #倒入 字典格式的公钥

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #如果本地没有连接过会自动添加 字典

ssh.connect(hostname='172.16.243.130',username='root',password='123456',port=22)

stdin,stdout,stderr = ssh.exec_command('uptime'#ssh.exec_command返回一个元祖 

print stdout.read()

ssh.close()





代码

#!/usr/bin/env python

#-*- coding:utf-8 -*-

import paramiko


def task(hostname,port,username,password,cmd):

    ''' 远程执行命令

    

        @param hostname 主机名

        @type str

        @param port 端口

        @type int

        @param username 用户名

        @type str

        @param password 密码

        @type str

        @param cmd 命令

        @type str

    '''

    

    ssh = paramiko.SSHClient()

    ssh.load_system_host_keys()

    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

    try:

        ssh.connect(hostname=hostname,port=port,username=username,password=password)

        stdin,stdout,stderr = ssh.exec_command(cmd)

        return stdout.read()

    except Exception,e:

        print e

        return e

    

    finally:

        if ssh:

            ssh.close()  #finally 无论是否有问题 代码块都会被执行


def main():

    

    result = task('172.16.243.130',22,'root','123456','uname -s')

    print result



if __name__ == '__main__':


    main()


你可能感兴趣的:(python paramiko ssh)