python通过paramiko实现,ssh功能

 1 import paramiko
2
3 ssh =paramiko.SSHClient()#创建一个SSH连接对象
4 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加
5 ssh.connect(hostname='192.168.11.51',port=22,username='yjj',password='yjj')#连接,主机 端口 用户名 密码
6 stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一
7 result=stdout.read()#获取结果
8 #result2=stdin.read()#获取结果
9 #result3=stderr.read()#获取结果
10 #print(result,result2,result3)
11 result=result.decode()
12 print(result)
13 ssh.close()#关闭连接

ftp功能

 1 import paramiko
2
3 #创建一个传输通道对象
4 transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口
5 transport.connect(username='root',password='yjj')#用户名,,密码
6
7 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法
8
9 sftp.put('test2','/home/yjj/test2')#上传文件 ,本地路径文件 ,服务器的路径文件
10
11 sftp.get('/home/yjj/test1','test1')#下载文件 ,服务器的路径文件 ,本地路径文件

为了安全起见,不使用明文密码,采用 RSA 非对称密钥自动登陆

在linux下:生成密钥

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

传输成功就可以成功登陆服务器上对应的用户

如果是windows登陆linux

可以将私钥复制到windows下

通过paramiko.RSAKey指定私钥进行访问

ssh功能:

 1 import paramiko
2 priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件
3
4 ssh=paramiko.SSHClient()#生成ssh对象
5 ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())#允许连接不在KNOV_HOSTs文件中的主机 自动添加
6 ssh.connect(hostname='192.168.11.50',port=22,username='root',pkey=priv_key)#连接,主机 端口 用户名 私钥
7
8 stdin,stdout,stderr=ssh.exec_command('df')#.exec_command 为执行命令,返回结果 ,标准输入,标准输出,标准错误,错误与输出只会返回其一
9 result=stdout.read()#获取结果
10 result=result.decode()
11 print(result)
12 ssh.close()#关闭连接

ftp功能:

 1 import paramiko
2 priv_key=paramiko.RSAKey.from_private_key_file('id_rsa')#指定私钥文件
3 #创建一个传输通道对象
4 transport=paramiko.Transport(('192.168.11.50',22))#传输模块 Transport 服务器地址 端口
5 transport.connect(username='root',pkey=priv_key)#用户名,,私钥
6
7 sftp=paramiko.SFTPClient.from_transport(transport)#调用传输方法
8
9 sftp.put('test2','/home/yjj/test2-2')#上传文件 ,本地路径文件 ,服务器的路径文件
10
11 sftp.get('/home/yjj/test1','test1-2')#下载文件 ,服务器的路径文件 ,本地路径文件
12
13 with open('test1-2','r',encoding='utf-8') as f:
14 s=f.readlines()
15 print(s)

(转)python通过paramiko实现,ssh功能的更多相关文章

  1. Python的paramiko模块ssh操作

    SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 import paramiko    # 创建 ...

  2. python 通过socket实现ssh功能

    功能:实现从客户端向服务端发送cmd指令,服务端将结果返回给客户端的功能. #coding:utf-8 '''服务端''' import socket,os server=socket.socket( ...

  3. python paramiko实现ssh上传下载执行命令

    paramiko ssh上传下载执行命令 序言 最近项目经常需要动态在跳板机上登录服务器进行部署环境,且服务器比较多,每次完成所有服务器到环境部署执行耗费大量时间.为了解决这个问题,根据所学的执行实现 ...

  4. python paramiko模块SSH自动登录linux系统进行操作

    1). Linux系统首先要开启SSH服务:service ssh status 如果没安装的话,则要:apt-get install openssh-server service ssh resta ...

  5. python paramiko模拟ssh登录,实现sftp上传或者下载文件

    Python Paramiko模块的安装与使用详解 paramiko是短链接,不是持续链接,只能执行你设定的shell命令,可以加分号执行两次命令. http://www.111cn.net/phpe ...

  6. 使用python的Paramiko模块登陆SSH

    使用python的Paramiko模块登陆SSH paramiko是用Python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接. python的paramiko模块 ...

  7. python通过socket实现多个连接并实现ssh功能详解

    python通过socket实现多个连接并实现ssh功能详解 一.前言 上一篇中我们已经知道了客户端通过socket来连接服务端,进行了一次数据传输,那如何实现客户端多次发生数据?而服务端接受多个客户 ...

  8. SSH协议的Python实现paramiko

    目录 paramiko安装 SSHClient类与SFTPClient类 SSHClient类的方法 SFTPClient类的方法 paramiko的基本使用 paramiko.SSHClient两种 ...

  9. python中paramiko模块的使用

    paramiko是python一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接1.可以远程操作服务器文件 例如: df:查看磁盘使用情况 mkdir:创建目录 mv/cp/mk ...

随机推荐

  1. C++ cout

    cout.flush() cout.put() 输出一个字符 char* p = "hello"; cout.write(p,sttrlen(q)-3) 输出字符串,能够选定长度. ...

  2. c# 得到list符合某条件的索引值,排序

    请教,在List集合中怎么得到元素的索引值,参考:http://www.myexception.cn/c-sharp/385022.html 这个可以用来读取窗口的多个textbox控件中内容: -- ...

  3. vue中moudles的作用及使用方法

    1.作用:vuex允许把store分割为模块,每一个模块都有自己的state,actions,getters,mutations甚至是嵌套一些子模块,从上到下进行同样方式的分割 在文件src中创建一个 ...

  4. Mysql分析优化查询的方式

    一:查询语句分析 1.通过create index idx_colunmsName on tableName(columns)为某个表的某些字段创建索引,注意主键和唯一键都会自动创建索引: 如为表st ...

  5. Java四种排序:冒泡,选择,插入,二分(折半插入)

    四种排序:冒泡,选择,插入,二分(折半插入) public class Test{ // public static void main(String[] args) { // Test t=new ...

  6. Arria10中的OCT功能

    OCT是什么? 串行(RS)和并行(RT) OCT 提供了 I/O 阻抗匹配和匹配性能.OCT 维持信号质量,节省电路板空 间,并降低外部组件成本. Arria 10 器件支持所有 FPGA 和 HP ...

  7. Spring 整合 RocketMQ

    1. 引入jar包 <!-- RocketMQ --> <dependency> <groupId>com.alibaba.rocketmq</groupId ...

  8. MyBatis(二)最简易的增、删、改、查

    这篇是承接上一篇的helloWorld程序.首先将一系列初始化的步骤再做一个工厂类进行包装,代码如下: package com.tinaluo.sun; import java.io.InputStr ...

  9. Write Markdown Syntax Online Document with Sphinx and Pandoc

    There is no doubt that we have to write doc while we are developing software. But How do you write d ...

  10. centos6.4 安装wireless驱动

    安装完centos6.4之后,目测只有有线的驱动,没有无线驱动. 一.检测网卡 [root@centos ~]# lspci | grep Net :.11b/g LP-PHY (rev ) :) 第 ...