paramiko模块
Python的paramiko模块,基于SSH用于连接远程服务器并执行相关操作; paramiko遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接;
paramiko支持Linux,Solaris, BSD,MacOS X, Windows等平台通过SSH从一个平台连接到另外一个平台;
利用该模块,可以方便的进行ssh连接和sftp协议进行sftp文件传输。
模块使用
1、执行命令 - 用户名+密码
#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramikossh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) # 允许连接know_hosts中不存在的主机
ssh.connect('10.255.1.42',22,'root','123456')stdin,stdout,stderr = ssh.exec_command("df -Th")
print(stdout.read().decode('utf-8')) # 以utf-8编码对结果进行解码
ssh.close()
结果如下:
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Users/fanhaitao/PycharmProjects/untitled/paramiko模块学习.py
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/mapper/cl-root xfs 184G 1.7G 182G 1% /
devtmpfs devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs tmpfs 3.9G 8.5M 3.9G 1% /run
tmpfs tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 xfs 1014M 139M 876M 14% /boot
tmpfs tmpfs 783M 0 783M 0% /run/user/0Process finished with exit code 0
2、上传或下载文件 - 用户名+密码
2.1 上传文件
#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
import os
import syst = paramiko.Transport(('10.255.1.42',22))
t.connect(username='root',password='123456')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('test.py','/root/test.py')
t.close()
结果:
[root@Openshift41 ~]# ll
总用量 20
-rw-------. 1 root root 1591 2月 26 16:21 anaconda-ks.cfg
-rw-r--r-- 1 root root 15080 10月 3 2017 epel-release-latest-7.noarch.rpm
[root@Openshift41 ~]# ll
总用量 24
-rw-------. 1 root root 1591 2月 26 16:21 anaconda-ks.cfg
-rw-r--r-- 1 root root 15080 10月 3 2017 epel-release-latest-7.noarch.rpm
-rw-r--r-- 1 root root 836 4月 28 11:43 test.py
2.2 下载文件
#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
import os
import sys
t = paramiko.Transport(('10.255.1.42',22))
t.connect(username='root',password='123456')
sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('/root/test.py','ceshi.py')
t.close()
结果:
3、执行命令 - 密匙
此处的脚本是在Linux机器上运行的
#!/usr/bin/python3
#-*- coding: utf-8 -*-import paramiko
private_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('10.255.1.42',22,'root',key)
stdin,stdout,stderr = ssh.exec_command('df -Th')
print(stdout.read().decode('utf-8'))
ssh.close()
4、上传或下载文件 - 密匙
# 上传文件
import paramikopravie_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)t = paramiko.Transport(('10.255.1.42', 22))
t.connect(username='root', pkey=key)sftp = paramiko.SFTPClient.from_transport(t)
sftp.put('log.log','/tmp/log.log')t.close()# 下载文件
import paramikopravie_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(pravie_key_path)t = paramiko.Transport(('10.255.1.42', 22))
t.connect(username='root', pkey=key)sftp = paramiko.SFTPClient.from_transport(t)
sftp.get('/tmp/log.log', 'log3.log')t.close()
paramiko模块相关推荐
- 在Ubuntu 14.04.3上安装python中的paramiko模块
下面是安装命令 cd /usr/local/src git clone https://github.com/paramiko/paramiko.git cd paramiko sudo easy_i ...
- paramiko 模块封装
paramiko 模块封装 #!/usr/bin/env python #coding=utf-8 import paramiko, getpass,sys,traceback class ssh_u ...
- python ssh模块有哪些_Python paramiko模块(实现ssh)
开发堡垒机之前,先来学习Python的paramiko模块,该模块基于SSH用于连接远程服务器并执行相关操作 安装paramiko模块 pip3 install paramiko 基于用户密码方式 i ...
- Linux上安装paramiko模块
Linux上安装paramiko模块 一.paramiko模块作用 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是pyt ...
- python连接linux服务器并使用命令_python基于paramiko模块实现远程连接Linux虚拟机(服务器)并执行指定命令返回输出结果...
对于开发者来说,windows是我们接触最多的操作系统了,但是Linux是我们必不可少的一项重要技能,很多服务或者应用都需要在Linux下运行,掌握Linux系统的基本使用也是非常重要的,今天有一个需 ...
- Python基础 - 第九天 - paramiko模块、进程、线程
本篇内容: 1.paramiko模块使用 2.进程.线程简介 3.python调用线程的方法 4.join - 等待线程执行 5.守护线程 6.GIL - 全局解释器锁 7.互斥锁 8.信号量 9.事 ...
- python paramiko模块中设置执行命令超时值
经常使用paramiko工具对几百台设备进行管理,但是由于服务器本身或是网络原因,有时返回值回不来,然后程序就看在那里一直等待,这个时候后需要设置一个超时值.paramiko模块中执行命令代码如下: ...
- python paramiko模块 远程上传目录文件
目录 上传目录 上传文件 上传目录 python用paramiko模块默认中只可以上传文件,在网上也没有找到合适的直接上传目录的方法,所以用os.walk方法和paramiko结合写了一个上传目录的方 ...
- python ssh模块_windows下python SSH的使用——paramiko模块
paramiko模块实例. #!/usr/bin/python import paramiko server_ip = '192.168.*.*' server_user = 'your_user' ...
- python第四十九天--paramiko模块安装大作战
准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...
最新文章
- Redis中五大数据结构的底层实现
- hadoop写文件 java_写文件 - Hadoop 学习手册_教程_Java开发社区
- thinkphp5.1+ 使用 Redis 缓存
- OpenKruise v0.8.0 版本:K8s 社区首个规模化镜像预热能力
- 05-Flutter移动电商实战-dio基础_引入和简单的Get请求
- linux设备资源分配,基于Linux 简化 AMP 配置使其更方便更动态地分配资源
- python编写add函数求和_为什么python不利用__iadd__来实现求和和链接运算符?
- 127.0.0.0与0.0.0.0的区别
- 李彦宏:我从未说过百度“All in AI”,这得怪陆奇
- office工具包开源了,使用Excel导入导出非常方便
- exchange2010 DAG备份
- 0DAY和warez
- 3.3 RESET and Initialization Procedure
- GNSS-SINEX文件格式简介
- 龙泉寺贤超法师:用 AI 为古籍经书识别、断句、翻译
- maven项目install报错:\target\surefire-reports for the individual test results
- Vue 运行提示“没有注册类”的解决办法
- java 数字转换开发票大写格式_Java转化数字为大写人民币
- 接上一篇——上海有哪些值得加入的互联网公司
- 流行的Go语言web框架简介