paramiko的安装与使用
paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接,支持在远程登录服务器执行命令和上传下载文件的功能。
安装
pycrypto下载地址:
http://www.voidspace.org.uk/python/modules.shtml#pycrypto
ecdsa下载地址:
https://pypi.python.org/pypi/ecdsa/0.9
paramiko安装:pip install paramiko
登陆
基于用户名密码的SSHClient登陆
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 建立SSH服务器的高级会话模式
ssh = paramiko.SSHClient()
# 允许连接不在known_hosts中的服务器
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 通过用户名及密码登陆服务器
ssh.connect(hostname='172.10.228.2', port=22, username='root', password='654321')
# 执行结果返回三个值
stdin, stdout, stderr = ssh.exec_command('df -h')
print stdout.read()
print '------------------'
print stderr.read()
ssh.close()
结果

基于RSAKEY的SSHClient登陆
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 本地可用的私钥文件路径,生成私钥时如果有密码,需要加password参数
key = paramiko.RSAKey.from_private_key_file('id_rsa.txt')
# 建立SSH服务器的高级会话模式
ssh = paramiko.SSHClient()
# 允许连接不在known_hosts中的服务器
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 通过用户名及密码登陆服务器
ssh.connect(hostname='192.168.56.41', port=22, username='root', pkey=key)
# 执行结果返回三个值
stdin, stdout, stderr = ssh.exec_command('df -h')
print stdout.read()
print '------------------'
print stderr.read()
ssh.close()
结果

基于用户名密码的Socket连接
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', password='rootroot')
# 建立SSH服务器的高级会话
ssh = paramiko.SSHClient()
# 将Socket连接赋与ssh会话
ssh._transport = trans
# 通过SSH会话执行命令
stdin, stdout,stderr = ssh.exec_command("df -h")
print stdout.read() # 会话关闭
ssh.close()
trans.close()
基于RSA的SOCKET连接
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 私钥的本地路径
key = paramiko.RSAKey.from_private_key_file("id_rsa.txt")
# 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', pkey=key)
# 建立SSH服务器的高级会话
ssh = paramiko.SSHClient()
# 将Socket连接赋与ssh会话
ssh._transport = trans
# 通过SSH会话执行命令
stdin, stdout,stderr = ssh.exec_command("df -h")
print stdout.read() # 会话关闭
ssh.close()
trans.close()
数据传输
#!/usr/bin/env python
# -*- coding:utf-8 -*-
__Author__ = 'kongZhaGen'
import paramiko # 私钥的本地路径
key = paramiko.RSAKey.from_private_key_file("id_rsa.txt")
# 初始化一个paramiko的Socket对象
trans = paramiko.Transport(('192.168.56.41', 22))
# 建立基于Socket的ssh2连接
trans.connect(username='root', pkey=key)
# 建立一个SFTP会话,建立一个SFTP通道,用于传输数据
sft = paramiko.SFTPClient.from_transport(trans)
# sft.put("kongtest.py","/root/kongtest.py")
sft.get('/root/install.log','install.log')
trans.close()
paramiko的安装与使用的更多相关文章
- python远程登录服务器(paramiko模块安装和使用)
转自:http://www.jb51.net/article/46285.htm 一:简介 由paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器 ...
- python中paramiko的安装
windows下安装并使用Python的SSH模块(paramiko+pycrypto+ecdsa) 2014-01-20 14:59 2223人阅读 评论(0) 收藏 举报 python+opens ...
- Python Paramiko模块安装和使用
1.简介 大家会发现,常见的解决方法都会需要对远程服务器必要的配置,如果远程服务器只有一两台还好说,如果有N台,还需要逐台进行配置,或者需要使用代码进行以上操作时,上面的办法就不太方便了. 使用par ...
- paramiko 模块安装
windows版本: 所需软件有:PyCrypto.ecdsa.paramiko. 一.软件下载地址 1.PyCrypto下载地址: http://www.voidspace.org.uk/pyth ...
- paramiko库安装
python的paramiko库用于执行ssh2连接(client和server).安装方式如下: 硬件环境:Raspberry 2B,arm,1GB RAM,16GB TF卡; 系统环境:Linux ...
- python第四十九天--paramiko模块安装大作战
准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...
- paramiko 模块安装和使用
一.Centos安装Paramiko 1.安装组件 yum install openssl openssl-devel python-dev pycrypto -y yum install zlib- ...
- python安装paramiko模块
一.简介 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. 由于使用的是python这样的能够跨平台运行的语言,所以所有python支 ...
- windows下python安装paramiko
Python中使用SSH需要用到OpenSSH,而OpenSSH依赖于paramiko模块,而paramiko模块又依赖于pycrypto模块,因此要在Python中使用SSH,则需要先安装模块顺序是 ...
随机推荐
- SpringAOP-切面优先级
项目中有两个切面,这两个切面都作用于同一个方法,哪个先执行哪个后执行呢,所以要定义一个切面的优先级 import java.util.Arrays; import org.aspectj.lang.J ...
- webbench的安装
1.下载webbench包: 2.下载完毕后,在linux中安装 root@jack-desktop:~/software# tar xvzf webbench-1.5.tar.gz root ...
- 编写Android工程里测试代码的步骤
第一步: 写个类去继承 AndroidTestCase public class TestStudent extends AndroidTestCase 并且编写一个测试的方法, 注意,测试的方法必须 ...
- nginx pcre错误
以上错误是因为pcre的路径指定的不对,--with-pcre模块应该指向的是pcre解压后的源码包,而不是pcre的安装路径. ]$./configure --prefix=/data01/logs ...
- dos命令行运行.class源文件错误解决办法
dos命令行运行java源文件 public static void main(String[] args) throws IOException { // TODO Auto-generated m ...
- C语言中函数返回字符串的四种方法
在讨论着四种方法之前,首先要对函数有一个简单的认识,无论是在形实结合时,还是在return语句返回时,都有一个拷贝的过程.你传进来的参数是个值,自然函数在工作之前要把这个值拷贝一份供自己使用,你传进来 ...
- Beta--冲刺阶段合集
冲刺前计划与安排:https://www.cnblogs.com/pubg722/p/9069234.html 第一篇冲刺博客:http://www.cnblogs.com/pubg722/p/909 ...
- weixin.com域名易主 传交易价格仅次360.com
据业内人士透露,weixin.com双拼域名今日易主,交易价格在几千万级别,有传闻其交易价格仅次于360.com. 从whois信息查看可知,weixin.com域名信息今日发生变更,目前域名的持有者 ...
- ADO----nDSN
//////////////链接数据库 非DSN模式///////////////////////////// //CString strOpen="DSN=DBAddressBook ...
- java自学-运算符
上一篇介绍了java的变量和数据类型,要对数据处理,还需要用到java运算符,这里只总结下常用的,运算符主要分为以下几类:1 算数运算符 算数运算符包括: + 加法运算 - 减法运算 * 乘法运算 / ...