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

第9章:Python自动化管理

时间:2019-08-14 18:49:54      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:服务   open   访问   read   ssh   nes   put   私钥   管理服务器   

1.使用SSH协议访问远程服务器

    SSH协议

    OpenSSH协议

    使用密钥登陆远程服务器

    使用ssh-agent管理私钥

 

2.使用Polysh批量管理服务器

Polysh requires python 3.4 or later.
pip install polysh
# cat hosts
192.168.1.121
192.168.1.122
# polysh --ssh=‘exec ssh -p 22‘ --user=root --hosts-file=hosts
waiting (2/2)> cd /
192.168.1.122 : cd /
192.168.1.121 : cd /

 

3.SSH协议的Python实现paramiko

1).paramiko的安装

    pip install paramiko

2).SSHClient类与SFTPClient类

    paramiko包含两个核心组件:SSHClient和SFTPClient

3).paramiko的基本使用

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(192.168.1.202,22,root,123456)
stdin,stdout,stderr = ssh.exec_command(ip a)
print stdout.read()
ssh.close()

4).使用paramiko部署监控程序

import paramiko

def deploy_monitor(ip):
    with paramiko.SSHClient() as client:
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(ip,22,root,123456)
        stdin,stdout,stderr = client.exec_command(ls -lh /)
        print(stdout.readlines())

        with client.open_sftp() as sftp:
            sftp.put(monitor.py,/monitor.py)
            sftp.chmod(/monitor.py, 0o755)

def main():
    with open(/py/hosts) as f:
        for line in f:
            deploy_monitor(line.strip())

if __name__ == __main__:
    main()

 

4.自动化部署工具Fabric

Fabric是基于Python2(2.5~2.7)的一个Python库,也是一个命令行工具
使用Fabric提供的命令行工具调用程序,能够非常方便地执行应用部署和系统管理操作
Fabric依赖paramiko进行SSH交互,Fabric作者也是paramiko作者

 

第9章:Python自动化管理

标签:服务   open   访问   read   ssh   nes   put   私钥   管理服务器   

原文地址:https://www.cnblogs.com/allenhu320/p/11353865.html

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