• 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 

  • 相关阅读:
    Mybaits利用插件generator自动生成sql
    idea设置
    centos虚拟机的相关知识
    nginx部署
    apollo配置
    分布式报错解决方案
    搭建springconfigCenter遇到的坑
    idea中git配置
    SpringCloudDay1_概念
    03.2020 MB SD Connect C4 Software “set_SDconnect.bat” File Lost Error Solution
  • 原文地址:https://www.cnblogs.com/iexperience/p/9296092.html
Copyright © 2020-2023  润新知