首页 > 编程语言 > 详细

python远程操作linux服务器

时间:2020-07-27 17:25:40      阅读:128      评论:0      收藏:0      [点我收藏+]

首先安装模块:pip install paramiko

参考官方文档用法:http://docs.paramiko.org/en/2.0/api/client.html

获取linux服务器的ip,代码如下:

import paramiko
import re


class GetLinuxIp():
    ‘‘‘获取linux服务器ip‘‘‘

    def __init__(self, hostname, port, username, password, cmds):
        ‘‘‘

        :param hostname: linux主机的ip
        :param port: linux主机的端口
        :param username: linux主机登录用户名
        :param password: linux主机登录密码
        :param cmds: 需要执行的linux命令
        ‘‘‘
        self.ip = hostname
        self.port = port
        self.user = username
        self.password = password
        self.cmds = cmds
        try:
            self.client = paramiko.SSHClient()   # 实例化客户端
            # 保存服务器的主机名和密钥信息
            self.client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            # 连接服务端,进行身份验证
            self.client.connect(self.ip, self.port, self.user, self.password, timeout=10)
            print("连接成功...")
        except Exception as e:
            # raise e
            print("连接失败,错误是{}".format(e))
            raise e

    def excute_command(self):
        ‘‘‘执行命令‘‘‘
            # todo stdin是标准输入文件,stdout是标准输出文件,stderr标准出错文件,应用在输出的重新定位上。
        self.stdin, self.stdout, self.stderr = self.client.exec_command(self.cmds)

    def get_result(self):
        ‘‘‘获取结果‘‘‘
        result = self.stdout.read().decode()
        pattern = re.compile(r((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3})
        self.ip = pattern.search(result).group()
        print("获取到linux服务器的ip是:{}".format(self.ip))

    def __del__(self):
        ‘‘‘关闭连接‘‘‘
        self.client.close()
        print("连接关闭...")


if __name__ == __main__:
    linux = GetLinuxIp("121.196.120.113", 22, "root", "123_Xiaohaikun", "ifconfig")
    linux.excute_command()
    linux.get_result()

运行结果如图:

技术分享图片

 

python远程操作linux服务器

原文:https://www.cnblogs.com/xiamaojjie/p/13385223.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!