linux系统下运用python脚本远程登录设备

python远程登录

import subprocess
import os
import time
import logging
import re
import paramiko
import string
import sys
import datetime
import threading


class RemoteMonitor:
    ip = ''
    port = 22
    username = ''
    password = ''
    def __init__(self,ip,username,password):
        self.ip = ip
        self.port = 22
        self.username = username
        self.password = password


    def sftp_upload(self,local, remote):
        sf = paramiko.Transport((self.ip, self.port))
        sf.connect(username=self.username, password=self.password)
        sftp = paramiko.SFTPClient.from_transport(sf)
        try:
            if os.path.isdir(local):
                for f in os.listdir(local):
                    sftp.put(os.path.join(local + f), os.path.join(remote + f))
            else:
                sftp.put(local, remote)
        except Exception, e:
            print('upload exception:', e)
        sf.close()


    def sftp_get(self,remote,local):
        sf = paramiko.Transport((self.ip, self.port))
        sf.connect(username=self.username, password=self.password)
        sftp = paramiko.SFTPClient.from_transport(sf)
        sftp.get(remote,local)
        sf.close()






    def SSHConnection(self):
        ssh = paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(self.ip,22,self.username,self.password)
        self.ssh = ssh


    def __ExecCommand(self,cmd):
        stdin, stdout, stderr = self.ssh.exec_command(cmd)
        result = stdout.readlines()
        # print (stderr,result,len(result))
        return result


    def ExecCommand(self,cmd):
        stdin, stdout, stderr = self.ssh.exec_command(cmd)
        result = stdout.readlines()
        # print (stderr,result,len(result))
        return result



if __name__ == "__main__":
    hostname = sys.argv[1]
    password=sys.argv[2]
    monitor = RemoteMonitor(hostname,"nvidia",password)
    monitor.SSHConnection()











  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值