python paramiko模拟ssh登录,实现sftp上传或者下载文件
Python Paramiko模块的安装与使用详解
paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令。
http://www.111cn.net/phper/python/67973.htm
安装过程排错解决方案
http://blog.csdn.net/wang1144/article/details/42277179
一、python模拟ssh密码登录
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os
host = '10.74.85.167'
user = 'liqian'
password = '123456'
cmd = 'ls -l'
#绑定实例
s = paramiko.SSHClient()
#加载本机.ssh/knows_hosts文件
s.load_system_host_keys()
#第一次登陆机器需要输入yes,添加完之后就不用输入
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()
二、python模拟ssh免密码登录
需要将.ssh/id_rsa 拷贝到对方机器.ssh/authorized_keys中,使用私钥
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os
pkey_file = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pkey_file)
host = '10.74.85.167'
user = 'root'
cmd = 'ls -l'
#绑定实例
s = paramiko.SSHClient()
#加载本机.ssh/knows_hosts文件
s.load_system_host_keys()
#第一次登陆机器需要输入yes,添加完之后就不用输入
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect(host,22,user,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()
三、paramiko实现sftp上传下载文件
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import paramiko
import sys,os
host = '10.74.85.167'
user = 'root'
password = '123456'
t = paramiko.Transport((host,22))
t.connect(username=user,password=password)
sftp = paramiko.SFTPClient.from_transport(t)
#sftp.get('/pythonShare/ssh.py','ssh.py.bak') #下载
sftp.put('ssh.py.bak','/tmp/ssh.py') #上传
t.close()
python paramiko模拟ssh登录,实现sftp上传或者下载文件的更多相关文章
- 如何在Linux中使用sFTP上传或下载文件与文件夹
如何在Linux中使用sFTP上传或下载文件与文件夹 sFTP(安全文件传输程序)是一种安全的交互式文件传输程序,其工作方式与 FTP(文件传输协议)类似. 然而,sFTP 比 FTP 更安全;它通过 ...
- 使用 windows 下的 secureCRT 软件的 通过 sftp 上传和下载文件到远端 linux 设备
secureCRT 按下ALT+P就开启新的会话进行ftp操作. 输入:help命令,显示该FTP提供所有的命令 pwd: 查询linux主机所在目录(也就是远程主机目录) lpwd: 查询本地目录 ...
- Java SFTP 上传、下载等操作
Java SFTP 上传.下载等操作 实际开发中用到了 SFTP 用于交换批量数据文件,然后琢磨了下这方面的东西,基于 JSch 写了个工具类记录下,便于日后使用. JSch是 SSH2 的纯Java ...
- 11、只允许在主目录下上传和下载文件,不允许用putty登录
创建用户xiao, 使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...
- 每天一个linux命令(26)--用SecureCRT来上传和下载文件
用SSH管理Linux 服务器时经常需要远程与本地之间交互文件,而直接使用 SecureCRT 自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmod ...
- Linux学习笔记:使用ftp命令上传和下载文件
Linux中如何使用ftp命令,包括如何连接ftp服务器,上传or下载文件以及创建文件夹.虽然现在有很多ftp桌面应用(例如:FlashFXP),但是在服务器.SSH.远程会话中掌握命令行ftp的使用 ...
- 解惑:如何使用SecureCRT上传和下载文件、SecureFX乱码问题
解惑:如何使用SecureCRT上传和下载文件.SecureFX乱码问题 一.前言 很多时候在windows平台上访问Linux系统的比较好用的工具之一就是SecureCRT了,下面介绍一下这个软件的 ...
- 每天一个linux命令(26):用SecureCRT来上传和下载文件
用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...
- 每天一个linux命令(26):用SecureCRT来上传和下载文件(转载自竹子)
用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...
随机推荐
- how many different bst given n nodes?
Reference: http://stackoverflow.com/questions/3042412/with-n-no-of-nodes-how-many-different-binary-a ...
- C++虚成员函数表vtable
介绍一下多态是如何实现的,关于如何实现多态,对于程序设计人员来说即使不知道也是完全没有关系的,但是对于加深对多态的理解具有重要意义,故而在此节中稍微阐述一下多态的实现机制. 在C++中通过虚成员函数表 ...
- linux下常见问题
1.配置path 环境变量 # vim /etc/profile 在文档最后,添加: export PATH="/opt/STM/STLinux-2.3/devkit/sh4/bin:$PA ...
- python如何保证多个线程同时修改共享对象时不出错!
import threadingimport timenumber = 0lock = threading.RLock() #是Lock()的升级版,用Rlock()即可def run(num): l ...
- servlet的url-pattern匹配规则
首先需要明确几容易混淆的规则: servlet容器中的匹配规则既不是简单的通配,也不是正则表达式,而是特定的规则.所以不要用通配符或者正则表达式的匹配规则来看待servlet的url-pattern. ...
- javascript location对象
location用于获取或设置窗体的URL,并且可以用于解析URL. location.[属性|方法] 1.location对象属性图示: 2.location 对象属性: 3.location 对象 ...
- openstack私有云布署实践【13.1 网络Neutron-compute节点配置(科兴环境)】
所有kxcompute节点 下载安装组件 # yum install openstack-neutron openstack-neutron-linuxbridge ebtables ipset ...
- hdu1024
#include <cstdio>#include <iostream>const int MAX = 1000005; using namespace std; int nu ...
- Paint on a Wall
Paint on a Wall 题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4012 搜索+状态压缩 这题刚开始以为是dp(之前写过墙是一 ...
- HDU2363 最短路+贪心
Cycling Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Sub ...