一、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,下载文件的更多相关文章

  1. python paramiko模拟ssh登录,实现sftp上传或者下载文件

    Python Paramiko模块的安装与使用详解 paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令. http://www.111cn.net/phpe ...

  2. cmd下载文件

    进入cmd 输入ftp 192.168.1.200 然后按照提示输入用户名和密码 cd 进入要下载的目录 dir 看操作权限 lcd查看本地要装下载文件的目录 prompt关闭交互模式 mget da ...

  3. paramiko 实现ssh登录和sftp登录

    简单ssh登录 import paramiko ssh = paramiko.SSHClient() ssh.set_missing_host_key_policy(paramiko.AutoAddP ...

  4. SSH上传和下载文件

    备个份: 一,ssh上传文件 scp file username@hostIP:文件地址 例: [zhangy@BlackGhost ~]$ scp test.sql zhangying@192.16 ...

  5. paramiko连接远程主机,上传下载文件

    Paramiko是基于SSHv2协议实现的一个Python模块,提供客户端和服务器的功能.Paramiko本身是一个围绕SSH网络概念的纯Python接口. Client: # 创建一个SSH连接对象 ...

  6. shell.application asp多种组件执行cmd 单文件版本

    <%@ Language="VBScript" %> <% ) theComponent() = "Scripting.FileSystemObject ...

  7. ssh scp 上传下载文件

    scp username@servername:/path/filename  例如scp codinglog@192.168.0.101:/home/kimi/test.txt  把192.168. ...

  8. cmd 环境下载文件的几种方法

    今天渗透测试面试提到cmd下载文件  ,自己只写了js和certutil,还有几种常见的方法自己没想起来 这里记录和总结下 . (自己还是太菜太垃圾.) 0x01 certutil certutil ...

  9. Spring MVC -- 下载文件

    像图片或者HTML文件这样的静态资源,在浏览器中打开正确的URL即可下载,只要该资源是放在应用程序的目录下,或者放在应用程序目录的子目录下,而不是放在WEB-INF下,tomcat服务器就会将该资源发 ...

随机推荐

  1. input checkbox复选框取值

    <table> <!--列表表头 开始 --> <tr class="ui-widget ui-state-hover" style="he ...

  2. PageHelper分页+前台BootStrap_pagination样式/BootStrap_table样式

    一.PagerHelper分页+前台BootStrap_pagination样式: 效果: 1.引入pageHelper插件:2种方式    pageHelper所需jar包:pagehelper-5 ...

  3. Github使用:使用github用作自己的免费域名

    1.创建一个新仓库 --- 删除里面的文件 --- Git上传文件到新仓库(必须有index.html) 2. 点击新仓库的setting,下滑找到GitHub Pages ---- 点击第一行的链接 ...

  4. mpvue 初体验之改写车标速查小程序

    前文 说到我开发了一个简单的小程序叫做 车标速查(代码以及二维码详见 这里),本文简单讲讲如何将这个小程序转为 mpvue 开发(最终 成果 ) mpvue 官网的 文档 真的是非常简单,不,应该说是 ...

  5. JS中encodeURI()、decodeURI()、encodeURIComponent()和decodeURIComponent()编码与解码

    编码解码问题. 解决这个问题大家一般都使用encodeURI或者encodeURIComponent方法,在这里做一下总结: 首先看看各个方法不同浏览器的支持程度 函数 描述 FF N IE deco ...

  6. 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2

    接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...

  7. kafka中zookeeper的操作

    bin/zookeeper-shell.sh localhost:2181 <<< "get /brokers/ids/4" ./zkCli.sh -server ...

  8. javascript中的replace方法

    1.replace 调用方法str.replace(regexp|substr, newSubStr|function) regexp,正则表达式 substr,需要被替换的字符串 newSubStr ...

  9. socket实现FTP上传下载功能

    '''服务器端''' 1 _author__ = "Dbass" import socketserver import json,os class MyTCPHandler(soc ...

  10. Javascript高级编程学习笔记(30)—— BOM(4)navigator对象

    window对象作为浏览器的全局对象.location对象保存了页面的url信息 那么navigator对象又有什么作用呢? navigator对象 该对象最早由 Netspace Navigator ...