zoukankan      html  css  js  c++  java
  • 17、Python之paramikomo

    一、简介

        paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

    二、准备

        由于paramiko模块不是系统自带的模块,所以需要引入,在pycharm中引入paramiko模块的步骤如下:

    三、使用paramiko连接远程服务器

    1、基于用户名和密码的连接

     1 import paramiko
     2 #创建SSH对象
     3 ssh = paramiko.SSHClient()
     4 # 允许连接不在know_hosts文件中的主机
     5 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
     6 #连接服务器
     7 ssh.connect(hostname="192.168.172.132",port=22,username="root",password="123")
     8 stdin,stdout,stderr = ssh.exec_command("ls")
     9 result = stdout.read()
    10 err_result = stderr.read()
    11 if result:
    12     print(result.decode("utf-8"))
    13 elif err_result:
    14     print(err_result.decode())
    View Code

    2、基于公钥秘钥的连接

        1、生成公钥秘钥:在linux中使用命令生成公钥和私钥。命令生成的公钥和私钥在目录下面,将私钥的文件拷贝到客户端,然后就可以通过公钥私钥的方式连接服务器了,代码如下:

    1 import paramiko
    2 private_key = paramiko.RSAKey.from_private_key_file("rsa.txt") #读取私钥
    3 ssh = paramiko.SSHClient()
    4 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    5 ssh.connect(hostname="192.168.172.132",port=22,username="root",pkey=private_key)
    6 stdin,stdout,stderr = ssh.exec_command("df")
    7 result = stdout.read()
    8 print(result.decode())
    9 ssh.close()
    View Code

    3、远程文件上传和下载

    1 import paramiko
    2 
    3 transport = paramiko.Transport(("192.168.172.132",22))
    4 transport.connect(username="root",password="123")
    5 sftp = paramiko.SFTPClient.from_transport(transport)
    6 # sftp.put("F:/key.txt","/temp") #上传
    7 sftp.get("/home/gwx/.ssh/id_rsa","F:/mywork/ts.txt")#下载
    8 transport.close()
    View Code
  • 相关阅读:
    重构学习资源
    cannot be cast to javax.servlet.Servlet 解决
    官网下载eclipse
    mapreduce.Job: Running job: job_1553100392548_0001
    IDEA取消形参名显示
    windows下和linux下运行jar
    idea打包可执行jar
    mkdir: Cannot create directory /file. Name node is in safe mode.
    IDEA2018激活码
    HADOOP集群搭建
  • 原文地址:https://www.cnblogs.com/win0211/p/8548898.html
Copyright © 2011-2022 走看看