python自动化之路-day14

    xiaoxiao2021-03-26  10

    paramiko模块的学习

    1.简介

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

    2.安装

    pip3 install paramiko

    3.模块学习

    使用sshclient,用于远程连接并执行命令

    初始模块:

    #_*_ coding:utf-8 _*_ import paramiko #paramiko模块,基于ssh用于连接远程服务器并执行相关操作 ssh =paramiko.SSHClient() # 首先创建一个sshclient对象 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) #允许连接不在know_host中的主机 ssh.connect(hostname="192.168.140.78",port=22,username="root",password="123456") #连接主机 #执行命令 stdin,stdout,stderr= ssh.exec_command("ls") #三元运算 m = stdout.read() n = stderr.read() l = m if m else n #三元运算决定l值 print(l.decode()) #获取命令结果 ssh.close() #关闭链接 例子二:

    #_*_ coding:utf-8 _*_ import paramiko transport = paramiko.Transport(("192.168.140.78",22)) transport.connect(username="root",password="123456") ssh = paramiko.SSHClient() ssh._transport =transport #执行命令 stdin,stdout,stderr= ssh.exec_command("ls") #三元运算 m = stdout.read() n = stderr.read() l = m if m else n #三元运算决定l值 print(l.decode()) #获取命令结果 transport.close() #关闭端口 基于私钥登录:

    private_key = paramiko.RSAKey.from_private_key_file() transport =paramiko.Transport(("192.168.140.78",22)) transport.connect(username="root",pkey=private_key) 例子三:#_*_ coding:utf-8 _*_ import paramiko import os transport = paramiko.Transport("192.168.141.170",22) transport.connect(username="root",password="123456") sftp = paramiko.SFTPClient.from_transport(transport) # print(sftp) print(os.getcwd()) files = os.listdir(r"C:\Users\ypf\PycharmProjects\py_s15\day2") #返回指定目录下所有的文件 try: for file in files: print(file) #os.path.join;连接路径名和文件 sftp.put(os.path.join(r"C:\Users\ypf\PycharmProjects\py_s15\day2",file),os.path.join(r"/root/test",file)) # print("++++") sftp.get() # sftp.get(os.getcwd(),"/root") transport.close() except Exception : print("failure")例子四: 未完待续。。。

    转载请注明原文地址: https://ju.6miu.com/read-600144.html

    最新回复(0)