热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python实现ssh远程执行命令上传下载文件

使用密码远程执行命令[root@localhostscript]#catdaramiko_ssh.py#!usrbinenvpython#_*_coding:utf-8_*_



使用密码远程执行命令

[root@localhost script]# cat daramiko_ssh.py 
#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = ‘gaogd‘
import paramiko
import sys,os
host = sys.argv[1]
user = ‘root‘
password = ‘ddfasdsasda2015‘
cmd = sys.argv[2]
s = paramiko.SSHClient()    #绑定实例
s.load_system_host_keys()    #加载本机KONW_HOST主机文件
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host,22,user,password,timeout=5)   #连接远程主机
stdin,stdout,stderr = s.exec_command(cmd)        #执行命令
cmd_result = stdout.read(),stderr.read()        #读取命令结果
for line in cmd_result:
    print line,
s.close()


使用key远程执行命令

[root@localhost script]# cat daramiko_ssh_key.py 
#!/usr/bin/env python
#_*_coding:utf-8 _*_
__author__ = ‘gaogd‘
import paramiko
import sys,os
host = sys.argv[1]
port = 22
username = ‘root‘
pkey_file = ‘/root/.ssh/id_rsa‘
key = paramiko.RSAKey.from_private_key_file(pkey_file)
cmd = sys.argv[2]
s = paramiko.SSHClient()    #绑定实例
s.load_system_host_keys()    #加载本机KONW_HOST主机文件
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host,port,username,pkey=key,timeout=5)
stdin,stdout,stderr = s.exec_command(cmd)        #执行命令
cmd_result = stdout.read(),stderr.read()        #读取命令结果
for line in cmd_result:
    print line,
s.close()
[root@localhost script]#


上传下载文件

[root@localhost script]# cat daramiko_sftp.py 
#!/usr/bin/python
import os,sys
import paramiko
host = ‘192.168.10.11‘ 
user = ‘root‘
password = ‘wdzj@2015‘
s = paramiko.SSHClient()
s.load_system_host_keys()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
t = paramiko.Transport((host,22))
t.connect(username=user,password=password)
#pkey_file = ‘/home/alex/.ssh/id_rsa‘
#key = paramiko.RSAKey.from_private_key_file(pkey_file)
#t.connect(username=username,pkey=key)
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get(‘/root/.ssh/known_hosts‘,‘/tmp/known_hosts1‘)
sftp.put(‘/python/script/daramiko_ssh_key.py‘,‘/tmp/paramiko1.py‘) 
s.close()
[root@localhost script]#


本文出自 “奋斗吧” 博客,谢绝转载!

python 实现ssh远程执行命令 上传下载文件


推荐阅读
  • 延迟注入工具(python)的SQL脚本
    本文介绍了一个延迟注入工具(python)的SQL脚本,包括使用urllib2、time、socket、threading、requests等模块实现延迟注入的方法。该工具可以通过构造特定的URL来进行注入测试,并通过延迟时间来判断注入是否成功。 ... [详细]
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • Java学习笔记之使用反射+泛型构建通用DAO
    本文介绍了使用反射和泛型构建通用DAO的方法,通过减少代码冗余度来提高开发效率。通过示例说明了如何使用反射和泛型来实现对不同表的相同操作,从而避免重复编写相似的代码。该方法可以在Java学习中起到较大的帮助作用。 ... [详细]
  • 原理:dismiss再弹出,把dialog设为全局对象。if(dialog!null&&dialog.isShowing()&&!(Activity.)isFinishing()) ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
author-avatar
我是阿冫轶
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有