#!/usr/bin/env python
# Author:Zhangmingda
import paramiko
'''创建ssh对象'''
ssh = paramiko.SSHClient()
'''设置允许连接不在know host的主机'''
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
'''连接服务器'''
ssh.connect(hostname='49.4.13.98',port=23782,username='root',password='Wyf@1314')
'''执行命令获取结果'''
stdin, stdout,stderr = ssh.exec_command('ls')
result_in = stdin
result_out =stdout.read().decode()
result_err = stderr.read().decode()
# print(result)
# print('type:',type(stdin))
print('stdin:',result_in)
print('stdout:',result_out)
print('stder:',result_err)
ssh.close()

sshclient

#!/usr/bin/env python
# Author:Zhangmingda
import paramiko id_rsa = paramiko.RSAKey.from_private_key_file('id_rsa')
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)
ssh.connect(hostname='49.4.13.98',port=23782,username='root',pkey=id_rsa)
stdin,stdout,stderr = ssh.exec_command('ls')
stdout_result = stdout.read().decode()
print(stdout_result)
ssh.close()

sshclient_RSA

#!/usr/bin/env python
# Author:Zhangmingda
import paramiko
'''创建私钥对象给ssh传输对象用'''
id_rsa = paramiko.RSAKey.from_private_key_file('id_rsa')
transobj = paramiko.Transport(('49.4.13.98',23782))
transobj.connect(username='root',pkey=id_rsa)
'''将已经连接了服务器的对象给sftp客户端实例,让客户端实例进行上传下载操作''' '''创建sftp对象'''
sftpobj = paramiko.SFTPClient.from_transport(transobj)
# sftpobj.get('/etc/passwd','hehepasswd')
sftpobj.put('hehepasswd','/tmp/from_windows_passwd')
transobj.close()

sftp_RSA

#!/usr/bin/env python
# Author:Zhangmingda
import paramiko
'''创建一个ssh传输连接对象'''
trans_addr = paramiko.Transport(('49.4.13.98',23782))
trans_addr.connect(username='root',password='Wyf@1314') '''将已经连接了服务器的对象给sftp客户端实例,让客户端实例进行上传下载操作'''
sftp = paramiko.SFTPClient.from_transport(trans_addr)
sftp.get('/etc/passwd','from_sshserver_etc_passwd.')
sftp.put('python_av.avi','/root/a.avi')
sftp.close()
trans_addr.close()
'''关闭sftp客户端'''

sftp

Paramiko模块学习的更多相关文章

  1. 审计系统---paramiko模块学习

    paramiko模块学习 [更多参考]http://www.cnblogs.com/wupeiqi/articles/4963027.html [paramiko的Demo实例]https://git ...

  2. python paramiko模块学习分享

    python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...

  3. paramiko模块学习笔记

    SSHClient 基于用户名密码连接 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ss ...

  4. python3 Paramiko模块学习

    简介 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography). 有了Paramiko以后,我们就可以在Py ...

  5. python 学习分享-paramiko模块

    paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Solaris, BS ...

  6. Python3学习之路~9.1 paramiko模块:实现ssh执行命令以及传输文件

    我们一般使用linux的时候,都是在Windows上安装一个ssh客户端连接上去.那么从一台linux如何连接到另一条linux呢?使用ssh命令即可,因为每台linux机器自己都有一个ssh客户端. ...

  7. python学习之---- paramiko 模块

    paramiko 模块 功能:提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 1  基于用户名和密码的 sshclient 方式登录 ...

  8. paramiko模块-2

    如何用paramiko模块模拟登入服务器,并记录操作日志,起到审计的作用? 各个client ---(连接跳转机)--->(跳转机)------>各自的目标服务器. 目前我们公司的跳转机, ...

  9. Pyhton开发堡垒机之paramiko模块

    堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + ...

随机推荐

  1. linux结束进程命令

    在linux中,进程之间通过信号来通信.进程的信号就是预定义好一个消息,进程能识别它并决定忽略还是做出反应. 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL ...

  2. c链表中指针的一些用法要点

    /* 结构体不能含有同类型的结构,但是可以含有指向同类型结构的指针.这样的定义是定义一个链表的基础. */1 typedef int Element; 2 3 typedef struct node{ ...

  3. 【软连接已存在,如何覆盖】ln: failed to create symbolic link ‘file.txt’: File exists

    ln -s 改成 ln -sf f在很多软件的参数中意味着force ln -sf /usr/bin/bazel-1.0.0 /usr/bin/bazel

  4. NCBI SRA数据如何进行md5校验?

    下了一些sra数据库中的公共数据,因为pretech和aspera不稳定,稍微大点的文件经常传断,部分文件我只能通过本地下载再上传. 那么问题来了,sra没有md5校验,我怎么知道我数据的完整性,尤其 ...

  5. python(3)跳过第一行(多行)读入数据

    查了下资料,常见两种办法,一是设置行号,再者是利用python自带的itertools工具. 这里推荐一种新的方法,直接使用readline()函数就搞定. 示例: 创建一个文本文件,内容如下: 1 ...

  6. 基于 芯片 nordic 52832 rtt 调试(Mac 电脑)

    代码配置 // <e> NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART //======== ...

  7. Go 性能提升tips--边界检查

    1. 什么是边界检查? 边界检查,英文名 Bounds Check Elimination,简称为 BCE.它是 Go 语言中防止数组.切片越界而导致内存不安全的检查手段.如果检查下标已经越界了,就会 ...

  8. Shell 分发脚本

    目录 Shell分发脚本 原理 rsync命令分析 特点 基本语法 实现 需求 环境变量 脚本实现 知识点 获得当前路径的目录dirname 获得当前路径的文件名basename shell远程执行命 ...

  9. 日常Java 2021/10/18

    Vecter类实现了一个动态数组,不同于ArrayList的是,Vecter是同步访问的, Vecter主要用在事先不知道数组的大小或可以改变大小的数组 Vecter类支持多种构造方法:Vecter( ...

  10. JS去除对象或数组中的空值('',null,undefined,[],{})

    javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...