python密钥登录主机

版权声明:精心研究,潜心学习,本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33468857/article/details/84642287

#!/usr/bin/python

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

###################################

#

# 检查主机的损坏磁盘

#

###################################

 

import paramiko

import sys

 

def DiskCheck(ip):

    try:

        # 建立一个sshclient对象

        ssh = paramiko.SSHClient()

        # 允许将信任的主机自动加入到host_allow 列表,此方法必须放在connect方法的前面

        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

        # 指定本地的RSA私钥文件,如果建立密钥对时设置的有密码,password为设定的密码,如无不用指定password参数

        # pkey = paramiko.RSAKey.from_private_key_file('/home/super/.ssh/id_rsa', password='12345')

        pkey = paramiko.RSAKey.from_private_key_file('/home/ptop/topicjie/scripts/keys/id_rsa')

        # 建立连接

        ssh.connect(hostname=ip,

                    port=22,

                    username='ptop',

                    pkey=pkey)

        # 执行命令

        stdin, stdout, stderr = ssh.exec_command("for i in $(df -h|grep data|awk '{print $6}'); do  touch $i/test.txt; done; df -h|grep data")

        # 结果放到stdout中,如果有错误将放到stderr中

        print(stdout.read().decode())

        print(stderr.read())

        # 关闭连接

        ssh.close()

    except Exception,e:

        print e

 

if __name__ =='__main__':

    if len(sys.argv) != 2:

        print 'Usage: python CheckDisk.py ip'

        sys.exit()

    print 'Host: %s' % sys.argv[1]

    print ''

    DiskCheck(sys.argv[1])

    print '-' * 80

猜你喜欢

转载自blog.csdn.net/qq_33468857/article/details/84642287
今日推荐