python paramiko远程服务器终端操作过程解析
作者:yaominghui 发布时间:2022-10-08 00:50:14
标签:python,paramiko,服务器,远程
这篇文章主要介绍了python paramiko远程服务器终端操作过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1.with open写文件到本地
2.paramiko SFTPClient将文件推到salt服务端
3.paramiko SSHClient通过salt-cp将文件分发给目标服务器
1.
with open(filePath, ‘w‘) as f: # filePath文件本地路径,w write模式
f.write(content)
return filePath
2.
import paramiko
# 1 连接客户端
transport = paramiko.Transport((ssh_url, ssh_port))
transport.connect(username=ssh_user, password=ssh_pwd)
# 2 定义与客户端交互 将刚刚定义的transport当参数传递给他
sftp = paramiko.SFTPClient.from_transport(transport)
# sftp.put(r‘/Users/mnt/{}‘.format(script_name), ‘/mnt/{}‘.format(script_name))
sftp.put(本地路径+ ‘{}‘.format(文件名), 目标路径+‘{}‘.format(文件名))
# 5 关闭连接
transport.close()
3.
# 实例化一个ssh
ssh = paramiko.SSHClient()
# 设置主机不在khost_key中也能连接
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 创建连接
ssh.connect(hostname=ssh_url, port=ssh_port, username=ssh_user, password=ssh_pwd)
# 执行命令, salt-cp -L salt_minion_hostname local_url/filename target_url
stdin, stdout, stderror = ssh.exec_command(‘salt-cp -L localhost.localdomain /mnt/‘ + script_name + ‘ /mnt‘)
# 打印输出
print(stdout.read())
# 关闭连接
ssh.close()
4.通过paramiko模块控制远程服务器cmd终端,执行git命令
import paramiko
#
def parmiko_con():
# 实例化一个ssh
ssh = paramiko.SSHClient()
# 设置主机不在khost_key中也能连接
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 创建连接
ssh.connect(hostname=ssh_url, port=ssh_port, username=ssh_user, password=ssh_pwd)
# 执行命令
# cmd = ‘cd /mnt/test_pro/opsmanage/ && git shortlog -2‘# 查看最近两次的提交版本,在cmd里执行没有问题,但在函数里运行响应不出来,git log命令需要按q退出
# cmd = ‘cd /mnt/test_pro/opsmanage/ && git rev-list master‘# master分支提交记录倒叙排列
cmd = ‘cd /mnt/test_pro/opsmanage/ && git log --since=1.weeks‘# 查看近一周的提交,多条数据只有一个列表,需要进行处理,需要请移步:https://www.cnblogs.com/lutt/p/12037454.html
# cmd = ‘cd /mnt/test_pro/opsmanage/ && git rev-list --all -n 2‘ # 历史版本reverse只去两条记录(只显示commit id)
# cmd = ‘cd /mnt/OpsManage/ && git branch -a‘# 查看当前所有分支, git branch 查看当前分支
# cmd = ‘cd /mnt/test_pro/opsmanage/ && git tag -l‘ # 查看当前所有tag
stdin, stdout, stderror = ssh.exec_command(cmd)
# 打印输出
list2 = []
ret = stdout.read().decode(‘utf-8‘)
list2 = ret.split(‘\n‘)
print(list2)
# 关闭连接
ssh.close()
if __name__ == ‘__main__‘:
parmiko_con()
print(‘ok‘)
来源:http://www.mamicode.com/info-detail-2864457.html


猜你喜欢
- 工具:Pycharm,Django1.11.9.1.下载django_admin_bootstrappedpip install djang
- 在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限
- 如下所示:function getobj(objs, key, value) {for (var i in objs) {var obj =
- wheel文件Wheel和Egg都是python的打包格式,目的是支持不需要编译或制作的安装过程,实际上也是一种压缩文件,将.whl的后缀改
- 在CSS布局中,ul,li的运用是非常常见的。配合DIV与CSS,创建无表格布局。 其实Dreamweaver中也有自带的CSS布局的范例,
- 首先从 ueEditor官网 下载最新版本的包,目前官网上提供了ASP、.NET、PHP、JSP版本的,django版本只有一个第三方个人开
- 引子Tornado 是一个网络异步的的web开发框架, 并且可以利用多进程进行提高效率, 下面是创建一个多进程 tornado 程序的例子.
- 做运维的朋友应该知道,公司IDC机房经常有上架、下架、报修和报废的服务器。如果服务器数量很多的时候很容易造成监控遗漏。  
- 本文实例讲述了windows下Python实现将pdf文件转化为png格式图片的方法。分享给大家供大家参考,具体如下:最近工作中需要把pdf
- 认证支持中间件中间件类: django.contrib.auth.middleware.AuthenticationMiddleware .
- 引言:之前博文介绍过了mysql/oracle与ES之间的同步机制。而logstash最初始的日志同步功能还没有介绍。本文就logstash
- 蚁群算法简介蚁群算法(Ant Clony Optimization, ACO)是一种群智能算法,它是由一群无智能或有轻微智能的个体(Agen
- 最简单的方法:取整后判断是否和原值相等!javascript的取整函数是:parseIntif(parseInt(value)==value
- 先去下载一个叫SWFToImage.dll的东西 再建立一个bat文件,并运行: COPY SWFToImage.dll %windir%\
- 本文仅仅梳理最基本的绘图方法。一、初始化假设已经安装了matplotlib工具包。利用matplotlib.figure.Figure创建一
- js表单验证只能是写限定的东西大收集 代码如下:ENTER键可以让光标移到下一个输入框<input onkeydown=&q
- 目录Show Me The Code测试下效果效果PS另一种方法Show Me The CodeHTMLElement.prototype.
- 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有
- 首先是建表语句 CREATE TABLE `t_address_province` ( `id` INT AUTO_INCREMENT PR
- 一、前言大家都知道游戏文字、文章等一些风控场景都实现了敏感词检测,一些敏感词会被屏蔽掉或者文章无法发布。今天我就分享用Go实现敏感词前缀树来