paramiko之ssh登录,执行cmd,下载文件
一、paramiko远程登录及执行命令
1.1:exec_command(cmd)远程执行命令
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=strComputer, username=strUser, password=strPwd) stdin, stdout, stderr = client.exec_command('cd /usr/local')
res, err = stdout.read(), stderr.read()
result = res if res else err # 三元运算
print(result.decode()) stdin, stdout, stderr = client.exec_command('mkdir bb')
res, err = stdout.read(), stderr.read()
result = res if res else err # 三元运算
print(result.decode()) client.close()
print('Connection closed.')
执行结果:执行了mkdir bb命令,但是却没有在/usr/local下执行,说明在执行第二条cmd命令时,第一条cmd命令没起作用。
所以使用exec_command(cmd),前面一条命令并不会对后面的命令产生影响。

1.2:invoke_shell(cmd)远程执行命令
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(hostname=strComputer, username=strUser, password=strPwd) channel = client.invoke_shell()
channel.send('cd /usr/local\n')
time.sleep(3)
channel.send('mkdir aa\n')
channel.send('ifconfig\n')
time.sleep(0.1) # 这个延时必须要使用,要不然recv的内容中就不会含有ifconfig的内容
output=channel.recv(2024).decode('utf-8')
print(output) #Close the connection
client.close()
print('Connection closed.')
执行结果:执行了mkdir aa命令,并且在/usr/local/目录下生成。说明在执行下一条cmd时,上一条cmd已经生效,是以上一条cmd为前提才得到的结果。
在执行完cmd执行,一定要记得time.sleep()一下,要不然就不会得到最后一条cmd执行之后的效果。

二、远程下载文件
trans = paramiko.Transport((strComputer, port)) # 注意这里是元组
trans.connect(username=strUser, password=strPwd) ssh = paramiko.SSHClient()
ssh._transport = trans
stdin, stdout, stderr = ssh.exec_command('ifconfig')
res, err = stdout.read(), stderr.read()
result = res if res else err # 三元运算
print(result.decode()) file_name = time.strftime('%Y%m%d')+'.ucs'
#创建sftp对象
sftp = paramiko.SFTPClient.from_transport(trans)
sftp.get('/var/local/ucs/'+file_name, 'D:/backup/'+file_name) # 第一个参数是需要下载的文件 第二个参数是需要存储的文件
time.sleep(2)
trans.close()
paramiko之ssh登录,执行cmd,下载文件的更多相关文章
- python paramiko模拟ssh登录,实现sftp上传或者下载文件
Python Paramiko模块的安装与使用详解 paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令. http://www.111cn.net/phpe ...
- cmd下载文件
进入cmd 输入ftp 192.168.1.200 然后按照提示输入用户名和密码 cd 进入要下载的目录 dir 看操作权限 lcd查看本地要装下载文件的目录 prompt关闭交互模式 mget da ...
- paramiko 实现ssh登录和sftp登录
简单ssh登录 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddP ...
- SSH上传和下载文件
备个份: 一,ssh上传文件 scp file username@hostIP:文件地址 例: [zhangy@BlackGhost ~]$ scp test.sql zhangying@192.16 ...
- paramiko连接远程主机,上传下载文件
Paramiko是基于SSHv2协议实现的一个Python模块,提供客户端和服务器的功能.Paramiko本身是一个围绕SSH网络概念的纯Python接口. Client: # 创建一个SSH连接对象 ...
- shell.application asp多种组件执行cmd 单文件版本
<%@ Language="VBScript" %> <% ) theComponent() = "Scripting.FileSystemObject ...
- ssh scp 上传下载文件
scp username@servername:/path/filename 例如scp codinglog@192.168.0.101:/home/kimi/test.txt 把192.168. ...
- cmd 环境下载文件的几种方法
今天渗透测试面试提到cmd下载文件 ,自己只写了js和certutil,还有几种常见的方法自己没想起来 这里记录和总结下 . (自己还是太菜太垃圾.) 0x01 certutil certutil ...
- Spring MVC -- 下载文件
像图片或者HTML文件这样的静态资源,在浏览器中打开正确的URL即可下载,只要该资源是放在应用程序的目录下,或者放在应用程序目录的子目录下,而不是放在WEB-INF下,tomcat服务器就会将该资源发 ...
随机推荐
- input checkbox复选框取值
<table> <!--列表表头 开始 --> <tr class="ui-widget ui-state-hover" style="he ...
- PageHelper分页+前台BootStrap_pagination样式/BootStrap_table样式
一.PagerHelper分页+前台BootStrap_pagination样式: 效果: 1.引入pageHelper插件:2种方式 pageHelper所需jar包:pagehelper-5 ...
- Github使用:使用github用作自己的免费域名
1.创建一个新仓库 --- 删除里面的文件 --- Git上传文件到新仓库(必须有index.html) 2. 点击新仓库的setting,下滑找到GitHub Pages ---- 点击第一行的链接 ...
- mpvue 初体验之改写车标速查小程序
前文 说到我开发了一个简单的小程序叫做 车标速查(代码以及二维码详见 这里),本文简单讲讲如何将这个小程序转为 mpvue 开发(最终 成果 ) mpvue 官网的 文档 真的是非常简单,不,应该说是 ...
- JS中encodeURI()、decodeURI()、encodeURIComponent()和decodeURIComponent()编码与解码
编码解码问题. 解决这个问题大家一般都使用encodeURI或者encodeURIComponent方法,在这里做一下总结: 首先看看各个方法不同浏览器的支持程度 函数 描述 FF N IE deco ...
- 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2
接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...
- kafka中zookeeper的操作
bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/4" ./zkCli.sh -server ...
- javascript中的replace方法
1.replace 调用方法str.replace(regexp|substr, newSubStr|function) regexp,正则表达式 substr,需要被替换的字符串 newSubStr ...
- socket实现FTP上传下载功能
'''服务器端''' 1 _author__ = "Dbass" import socketserver import json,os class MyTCPHandler(soc ...
- Javascript高级编程学习笔记(30)—— BOM(4)navigator对象
window对象作为浏览器的全局对象.location对象保存了页面的url信息 那么navigator对象又有什么作用呢? navigator对象 该对象最早由 Netspace Navigator ...