python密鑰登錄主機


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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM