zoukankan      html  css  js  c++  java
  • python 堡垒机讲解及实例

    paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作。

    SSHClient:用于连接远程服务器并执行基本命令

    #coding:utf-8
    import paramiko
    ssh=paramiko.SSHClient()  #创建ssh对象
    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  # 允许连接不在know_hosts文件中的主机
    ssh.connect(hostname='c1.salt.com',port=22,username='root',password='qwer1234')   # 连接服务器
    stdin,stdout,stderr=ssh.exec_command('df')  #stdin 传送的命令,stdout 存放命令执行的结果,stderr 存放错误信息,stdout/stderr不能同时有信息
    result=stdout.read()
    ssh.close()
    

    SSHClient 封装transport

    #coding:utf-8
    import paramiko
    transport=paramiko.Transport(('hostname',22))
    transport.connect(username='root',password='123')
    sftp=paramiko.SFTPClient.from_transport(transport)
    sftp.put('D:/Python27/README.txt','/home/server1.py') #将本地D:/Python27/README.txt上传至服务器/home/server1.py
    sftp.get('/home/server1.py','D:/')  #将/home/server1.py下载到本地D:/
    transport.close()
    

    堡垒机的实现 

    堡垒机执行流程:

    1. 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码)
    2. 用户登陆堡垒机,输入堡垒机用户名密码,现实当前用户管理的服务器列表
    3. 用户选择服务器,并自动登陆
    4. 执行操作并同时将用户操作记录

    注:配置.brashrc实现ssh登陆后自动执行脚本,如:/usr/bin/python /home/wupeiqi/menu.py

    公钥、私钥及堡垒机的实现代码具体见:http://www.cnblogs.com/wupeiqi/articles/5095821.html 

  • 相关阅读:
    [办公自动化]企业网IE多版本引发的网页无法访问
    [每天想一想]如果你的领导不懂技术,你该怎么办?
    [思考]我们应该怎样建设企业IT
    [读书笔记]流畅的Python(Fluent Python)
    [办公自动化]网件交换机管理软件
    PCRE函数简介和使用示例
    pcre7.0在vc6.0编译
    Luogu P2173 [ZJOI2012]网络
    tensorflow学习笔记2
    python数据可视化7
  • 原文地址:https://www.cnblogs.com/iexperience/p/9296092.html
Copyright © 2011-2022 走看看