码迷,mamicode.com
首页 > 编程语言 > 详细

python密钥登录主机

时间:2017-08-27 17:05:23      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:rsa   super   and   done   man   bash   方法   python   argv   

#!/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

  

python密钥登录主机

标签:rsa   super   and   done   man   bash   方法   python   argv   

原文地址:http://www.cnblogs.com/topicjie/p/7440676.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!