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 

  • 相关阅读:
    HAOI2018 奇怪的背包
    HAOI2018 苹果树
    骑士游戏
    飞飞侠
    奶牛排队
    寻找道路
    [USACO08JAN]牛大赛Cow Contest
    灾后重建
    [USACO09DEC]牛收费路径Cow Toll Paths
    萌萌哒
  • 原文地址:https://www.cnblogs.com/iexperience/p/9296092.html
Copyright © 2011-2022 走看看