python第五十天--paramiko
python通过paramiko实现,ssh功能
import paramiko ssh =paramiko.SSHClient()#创建一个SSH连接对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加
ssh.connect(hostname='192.168.11.51',port=22,username='yjj',password='yjj')#连接,主机 端口 用户名 密码
stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一
result=stdout.read()#获取结果
#result2=stdin.read()#获取结果
#result3=stderr.read()#获取结果
#print(result,result2,result3)
result=result.decode()
print(result)
ssh.close()#关闭连接
ftp功能
import paramiko #创建一个传输通道对象
transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口
transport.connect(username='root',password='yjj')#用户名,,密码 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法 sftp.put('test2','/home/yjj/test2')#上传文件 ,本地路径文件 ,服务器的路径文件 sftp.get('/home/yjj/test1','test1')#下载文件 ,服务器的路径文件 ,本地路径文件
为了安全起见,不使用明文密码,采用 RSA 非对称密钥自动登陆
在linux下:生成密钥

传输到要登陆的服务器端:

传输成功就可以成功登陆服务器上对应的用户
如果是windows登陆linux
可以将私钥复制到windows下

通过paramiko.RSAKey指定私钥进行访问
ssh功能:
import paramiko
priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件 ssh=paramiko.SSHClient()#生成ssh对象
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加
ssh.connect(hostname='192.168.11.50',port=22,username='root',pkey=priv_key)#连接,主机 端口 用户名 私钥 stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一
result=stdout.read()#获取结果
result=result.decode()
print(result)
ssh.close()#关闭连接
ftp功能:
import paramiko
priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件
#创建一个传输通道对象
transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口
transport.connect(username='root',pkey=priv_key)#用户名,,私钥 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法 sftp.put('test2','/home/yjj/test2-2')#上传文件 ,本地路径文件 ,服务器的路径文件 sftp.get('/home/yjj/test1','test1-2')#下载文件 ,服务器的路径文件 ,本地路径文件 with open('test1-2','r',encoding='utf-8') as f:
s=f.readlines()
print(s)
python第五十天--paramiko的更多相关文章
- 孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务
孤荷凌寒自学python第五十九天尝试使用python来读访问远端MongoDb数据服务 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第五天.今天的感觉是,mongoDB数 ...
- 孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库
孤荷凌寒自学python第五十六天通过compass客户端和mongodb shell 命令来连接远端MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 今天是学习mongoDB数据库的第二 ...
- 孤荷凌寒自学python第五十五天初识MongoDb数据库
孤荷凌寒自学python第五十五天第一天初识MongoDb数据库 (完整学习过程屏幕记录视频地址在文末) 大家好,2019年新年快乐! 本来我想的是借新年第一天开始,正式尝试学习爬虫,结果今天偶然发现 ...
- 孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档
孤荷凌寒自学python第五十四天使用python来删除Firebase数据库中的文档 (完整学习过程屏幕记录视频地址在文末) 今天继续研究Firebase数据库,利用google免费提供的这个数据库 ...
- 孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase
孤荷凌寒自学python第五十天第一次接触NoSql数据库_Firebase (完整学习过程屏幕记录视频地址在文末) 之前对关系型数据库的学习告一段落,虽然能力所限没有能够完全完成理想中的所有数据库操 ...
- python第四十九天--paramiko模块安装大作战
准备开始学习:paramiko模块,发现这个模块十分难搞 安装不上 搞了半天,win10 64下 pytyon 3.6 的 paramiko模块 死活安不上,在网上不断的找资料,可是没有用,没有用啊 ...
- python第五十九天-----补上笔记
rabbitmq_server_topic topic模式 #!/usr/bin/env python #{data} {time} #_*_coding:utf-8_*_ import pik ...
- python第五十四天--第十周作业
SELECT版FTP:使用SELECT或SELECTORS模块实现并发简单版FTP允许多用户并发上传下载文件 必须使用select or selectors模块支持多并发,禁止使用多线程或多进程 RE ...
- python学习五十五天subprocess模块的使用
我们经常需要通过python去执行一条系统执行命令或者脚本,系统的shell命令独立于你python进程之外的,没执行一条命令,就发起一个新的进程, 三种执行命令的方法 subprocess.run( ...
随机推荐
- Python函数学习——匿名函数
匿名函数 匿名函数就是不需要显式的指定函数名. 关键字lambda表示匿名函数,冒号前面的n表示函数参数,可以有多个参数. 匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达 ...
- vue 自动化部署 jenkins 篇
前端项目打包部署,以前都是手工运行打包命令,打包结束后压缩,然后上传到服务器上解压部署.这种重复性的工作,确实有点让人烦,而且效率也不高. 本文基于 vue 的前端项目. GitHub 的代码仓库,简 ...
- ffmpeg 视频实现各种特效
直接上命令: //渐入i in.mp4 -vf fade=in:0:90 out.mp4 //黑白 i in.mp4 -vf lu ...
- msysGit在GitHub代码托管
(转:http://www.cnblogs.com/xing901022/p/4388190.html) 代码的管理,在日常开发中是很重要的环节,程序员的修炼三部曲——版本控制,单元测试,项目自动化. ...
- CSS 基础:定位元素(3)<思维导图>
这段时间利用一下间隙时间学习了CSS的基础知识,主要目的是加深对CSS的理解,虽然个人主要工作基本都是后台开发,但是个人觉得系统学习一下CSS的基础还是很有必要的.下面我学习CSS时做的思维导图(全屏 ...
- ida 调试 android fork
在使用ida 调试android native代码时经常会碰见fork子进程的情况出现,而运行一个 android_server只能对一个进程进行调试或者attach,而ida 默认端口是23946, ...
- tensorflow实现循环神经网络
包括卷积神经网络(CNN)在内的各种前馈神经网络模型, 其一次前馈过程的输出只与当前输入有关与历史输入无关. 递归神经网络(Recurrent Neural Network, RNN)充分挖掘了序列数 ...
- Java并发编程的艺术(一)
题目1 创建3个线程,让3个线程分别按着顺序打印AAAA,BBBB,CCCC(第一个线程打印AAAA,第二个线程打印BBBB,第一个线程始终在第二个线程之前打印) 代码(该代码为打印3个线程分别打印一 ...
- Jquery的ID选择器
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></scri ...
- VB.NET语法小结
本人精通C#编程,VB没有开发经验,项目维护需要,特意整理了下VB语法,进行恶补.编程思想都是互通的,都是微软生的,语言大同小异. Imports System 一.(1)定义一个变量,并且初始化. ...