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

使用密码远程执行命令

[[email protected] 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远程执行命令

[[email protected] 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()
[[email protected] script]#

上传下载文件

[[email protected] script]# cat daramiko_sftp.py 
#!/usr/bin/python
import os,sys
import paramiko
host = ‘192.168.10.11‘ 
user = ‘root‘
password = ‘[email protected]‘
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()
[[email protected] script]#
时间: 2024-10-21 05:17:24

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

Linux下不借助工具实现远程linux服务器上传下载文件

# Linux下不借助工具实现远程linux服务器上传下载文件 ## 简介 - Linux下自带ssh工具,可以实现远程Linux服务器的功能- Linux下自带scp工具,可以实现文件传输功能 ## 登录服务器 - `ssh [email protected]` 登录服务器```PC:~$ ssh [email protected][email protected]'s password: ``` ## 文件传输 - 下载文件- `scp [email protected]:/data/log

SFTP远程连接服务器上传下载文件-vs2010项目实例

本项目仅测试远程连接服务器,支持上传,下载文件,更多功能开发请看API自行开发. 环境:win7系统,vs2010 vs2010项目实例下载地址:CSDN下载 如果没有CSDN积分,百度网盘下载(密码:uxnt) 文件目录介绍: 1.libssh2.sln是vs2010的解决方案,用vs2010打开(如图1所示): include是需要导入的头文件,lib是需要使用的lib文件(如图2所示): 图1 图2 2.解决方案:"libssh2"(如图3所示) 这里只需要编译运行demo项目即

day8-套接字sock 实现SSH远程执行命令功能

复习 #面向对象编程#类:#对象#实例化 :从一个类到产生一个对象的过程    #对象 = 类名()   #__init__初始化方法,是为了给一个具体的对象放一些初识的属性#在类中:    # 静态属性 直接定义在类中的属性,使用静态属性:类名.对象名都可以调用    # 动态属性 就是方法 就是定义在类中的函数 默认传一个self# class Person:#     money = 100# sister = Person()# father = Person()# Person.mon

102 模拟ssh远程执行命令

目录 一.subprocess模块 1.1 使用方法 二.模拟实现SSH远程执行命令 服务器 客户端 一.subprocess模块 subprocess 模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入.标准输出.标准错误以及返回码等.更多查看官网:https://docs.python.org/2/library/subprocess.html?highlight=subprocess#frequently-used-arguments 可以通过subproces

100 模拟ssh远程执行命令

目录 一.subprocess模块 1.1 使用方法 二.模拟实现SSH远程执行命令 服务器 客户端 一.subprocess模块 subprocess 模块允许你去创建一个新的进程让其执行另外的程序,并与它进行通信,获取标准的输入.标准输出.标准错误以及返回码等.更多查看官网:https://docs.python.org/2/library/subprocess.html?highlight=subprocess#frequently-used-arguments 可以通过subproces

解决SSH远程执行命令找不到环境变量的问题

通过SSH执行远程主机的命令或脚本时,经常会出现找不到自定义环境变量的问题.但是,如果通过SSH登录远程主机,然后再执行相同的命令或脚本,那么此时执行又是成功的.两种相似的方法,得到的结果却截然不同,看起来很诡异的现象,根本原因在于这两种方式使用的bash模式不同! 1. 通过SSH登录后再执行命令和脚本这种方式会使用Bash的interactive + login shell模式,这里面有两个概念需要解释:interactive和login. login故名思义,即登陆,login shell

ssh远程执行命令使用明文密码

经过不懈的搜索终于找到ssh远程执行命令使用明文密码使用sshpass. 例子: sshpass -p "sequoiadb" ssh [email protected] "ls /" sshpass在centos无法直接安装 cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repo yum

2.1.5基础之命令行链接ftp dos中的ftp上传下载文件

Windows命令行batcmd脚本的应用之自动备份 异地备份2.1.5基础之命令行链接ftp dos中的ftp上传下载文件 讲解环境 VMware Workstation 12 桌面虚拟计算机软件创建虚拟机安装操作系统:http://edu.51cto.com/course/10007.html PC1:192.168.1.201 远程地址:192.168.100.100:2001 windows service2008 pc1 Admin111FTP虚拟用户 fileaa fileaaPC2

python之模块ftplib(实现ftp上传下载代码)

# -*- coding: utf-8 -*- #python 27 #xiaodeng #python之模块ftplib(实现ftp上传下载代码) #需求:实现ftp上传下载代码(不含错误处理) from ftplib import FTP def ftpconnect(): ftp_server='ftp.python.org' ftp=FTP() ftp.set_debuglevel(2)#打开调式级别2 ftp.connect(ftp_server,21) ftp.login('',''