资讯专栏INFORMATION COLUMN

python中paramiko模块的使用

Cobub / 470人阅读

摘要:是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,和内部的远程管理就是使用的来现实。

paramiko

paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。

1、下载安装

pycrypto,由于 paramiko 模块内部依赖pycrypto,所以先下载安装pycrypto

yum -y install python-devel
pip3 install pycrypto
pip3 install paramiko
2、模块使用 执行命令 - 用户名+密码
import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("172.16.0.10", 22, "root", "123456")
stdin, stdout, stderr = ssh.exec_command("df -hT")
print(stdout.read().decode("utf-8"))    # 以utf-8编码对结果进行解码
ssh.close()
上传或下载文件 - 用户名+密码
# 上传文件
import os
import sys
import paramiko

t = paramiko.Transport(("172.16.0.19", 22))
t.connect(username="root", password="123456")
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put("log.log", "/tmp/log.log")
t.close()

# 下载文件
import os,sys
import paramiko

t = paramiko.Transport(("172.16.0.19",22))
t.connect(username="root", password="123456")
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get("/tmp/log.log", "log2.log")
t.close()
执行命令 - 密匙
import paramiko

private_key_path = "/root/.ssh/id_rsa"
key = paramiko.RSAKey.from_private_key_file(private_key_path)

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("172.16.0.19", 22, "root", key)

stdin, stdout, stderr = ssh.exec_command("df -hT")
print(stdout.read())
ssh.close()
上传或下载文件 - 密匙
# 上传文件
import paramiko

pravie_key_path = "/root/.ssh/id_rsa"
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)

t = paramiko.Transport(("172.16.0.19", 22))
t.connect(username="root", pkey=key)

sftp = paramiko.SFTPClient.from_transport(t)
sftp.put("log.log","/tmp/log.log")

t.close()

# 下载文件
import paramiko

pravie_key_path = "/root/.ssh/id_rsa"
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)

t = paramiko.Transport(("172.16.0.19", 22))
t.connect(username="root", pkey=key)

sftp = paramiko.SFTPClient.from_transport(t)
sftp.get("/tmp/log.log", "log3.log")

t.close()

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41634.html

相关文章

  • 如何通过Telnet和SSH远程监控主机

    摘要:子程序执行将在新进程中完成。要在上执行子程序,该类将使用该函数。如果是字符串,则字符串指定要通过执行的命令。如果是任何其他负值,则表示完全缓冲。它用于通过网络进行系统管理和应用程序部署。 showImg(https://segmentfault.com/img/remote/1460000018833620); 来源 | 愿码(ChainDesk.CN)内容编辑 愿码Slogan |...

    BothEyes1993 评论0 收藏0
  • python大佬养成计划----paramiko实现SSH

    摘要:模块为的缩写,由的网络小组所制定为建立在应用层基础上的安全协议。是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用该模块,可以方便的进行连接和协议进行文件传输。 paramiko模块 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专...

    gghyoo 评论0 收藏0
  • Python通过paramiko从远处服务器下载文件资源到本地

    为什么要用Python脚本下载以及基本介绍 经常会有人需要从远程服务器下载一些文件资源,下载个别小文件可以直接用sz等命令,但是,需要下载一个文件夹呢?sz就不行了,这时候当然可以先压缩文件夹,然后下载,这样也是可以的,只要文件不是很大,那么,有没有其他办法下载文件夹呢?办法当然是有的,就是写Python脚本,然后通过paramiko模块就可以从远程传输下载文件夹到本地了,是不是很方便呢…… pa...

    Anonymous1 评论0 收藏0
  • SSH连接与自动化部署工具paramiko与Fabric

    摘要:是基于实现的远程安全连接,支持认证及密钥方法。利用函数发送到,通过函数获取回显。如下全局属性设定对象的作用是定义的全局设定,支持多个属性及自定义属性。相比确实简化了不少。出现异常时,发出警告,继续执行,不要终止。 paramiko paramiko是基于Python实现的SSH2远程安全连接,支持认证及密钥方法。可以实现远程命令执行,文件传输,中间SSH代理等功能,相对于Pexpect...

    ermaoL 评论0 收藏0
  • python调用python脚本时参数传递

    摘要:前言为什么有调用脚本呢直接不就行了吗这里主要是用于远程调用时这种调用在运维场景中是比较多的,类似下面这样的调用远程调用这里有个问题就是传递较多参数时如何传递比如传递字典传递列表等我们可以发现,如果直接传递,往往传过去后不能很好的解析因为这 前言: 为什么有python调用python脚本呢?直接import不就行了吗?这里主要是用于远程调用时,这种调用在运维场景中是比较多的,类似下面这...

    yankeys 评论0 收藏0

发表评论

0条评论

Cobub

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<