python 自动化运维 Paramiko 模块

简介:

Paramiko 模块

paramiko模块提供了ssh及sft进行远程登录服务器执行命令和上传下载文件的功能。这是一个第三方的软件包,使用之前需要安装。


安装方法 pip install paramiko 


模块使用介绍场景


1、在windows 下面远程执行liunx 主机的命令

连接方法一、

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#coding:utf-8
import  paramiko
ssh  =  paramiko.SSHClient()
 
known_hosts  =  paramiko.AutoAddPolicy()  ##默认的受信列表
ssh.set_missing_host_key_policy(known_hosts)  ##采用默认授信列表
 
#建立连接
ssh.connect(
     hostname  =  "192.168.10.31" ,
     port  =  22 ,
     username  =  "root" ,
     password  =  "1111"
)
stdin,stdout,stderr  =  ssh.exec_command( "free -m " )
print  (stdout.read())
ssh.close()

连接方法二、

1
2
3
4
5
6
7
8
trans  =  paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username  =  "root" ,password  =  "1111" )
#登录必须先实例化一个客户端
ssh  =  paramiko.SSHClient()
ssh._transport  =  trans  #设置客户端使用该通道
stdin,stdout,stderr  =  ssh.exec_command( "free -m " ) #远程执行命令
print  (stdout.read())
ssh.close()

#模拟服务器上传和下载功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#coding:utf-8
import  paramiko
 
trans  =  paramiko.Transport(( "192.168.10.31" ), 22 )
trans.connect(username  =  "root" ,password  =  "1111" )
trans  =  paramiko.Transport(( "192.168.10.31" , 22 ))
trans.connect(username  =  "root" ,password  =  "1111" )
sftp  =  paramiko.SFTPClient.from_transport(trans) #实例化文件一个上传下载的客户端
sftp  =  paramiko.SFTPClient.from_transport(trans)
#上传
#get从远程服务器上下载文件到本地
sftp.get( "/root/Desktop/test.py" , "t1.py" )
#下载
#put 上传本地文件到远程服务器
sftp.put( "by.txt" , "/root/Desktop/beiying.txt" )






本文转自 水滴石川1 51CTO博客,原文链接:http://blog.51cto.com/sdsca/1966871,如需转载请自行联系原作者
相关文章
|
1月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
50 4
|
12天前
|
Python
Python Internet 模块
Python Internet 模块。
107 74
|
1月前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
108 63
|
1月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
1月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
1月前
|
JSON Linux 数据格式
Python模块:从入门到精通,只需一篇文章!
Python中的模块是将相关代码组织在一起的单元,便于重用和维护。模块可以是Python文件或C/C++扩展,Python标准库中包含大量模块,如os、sys、time等,用于执行各种任务。定义模块只需创建.py文件并编写代码,导入模块使用import语句。此外,Python还支持自定义模块和包,以及虚拟环境来管理项目依赖。
Python模块:从入门到精通,只需一篇文章!
|
29天前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####
|
29天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维:从自动化到AIOps的演进与实践####
本文探讨了智能运维(AIOps)的崛起背景,深入分析了其核心概念、关键技术、应用场景及面临的挑战,并对比了传统IT运维模式,揭示了AIOps如何引领运维管理向更高效、智能的方向迈进。通过实际案例分析,展示了AIOps在不同行业中的应用成效,为读者提供了对未来智能运维趋势的洞察与思考。 ####
75 1
|
1月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
41 5
|
1月前
|
数据可视化 Python
如何在Python中解决模块和包的依赖冲突?
解决模块和包的依赖冲突需要综合运用多种方法,并且需要团队成员的共同努力和协作。通过合理的管理和解决冲突,可以提高项目的稳定性和可扩展性