Paramiko模块学习
#!/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模块学习的更多相关文章
- 审计系统---paramiko模块学习
paramiko模块学习 [更多参考]http://www.cnblogs.com/wupeiqi/articles/4963027.html [paramiko的Demo实例]https://git ...
- python paramiko模块学习分享
python paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Sola ...
- paramiko模块学习笔记
SSHClient 基于用户名密码连接 import paramiko # 创建SSH对象 ssh = paramiko.SSHClient() # 允许连接不在know_hosts文件中的主机 ss ...
- python3 Paramiko模块学习
简介 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography). 有了Paramiko以后,我们就可以在Py ...
- python 学习分享-paramiko模块
paramiko模块学习分享 paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.paramiko支持Linux, Solaris, BS ...
- Python3学习之路~9.1 paramiko模块:实现ssh执行命令以及传输文件
我们一般使用linux的时候,都是在Windows上安装一个ssh客户端连接上去.那么从一台linux如何连接到另一条linux呢?使用ssh命令即可,因为每台linux机器自己都有一个ssh客户端. ...
- python学习之---- paramiko 模块
paramiko 模块 功能:提供了ssh及sftp进行远程登录服务器执行命令和上传下载文件的功能.这是一个第三方的软件包,使用之前需要安装. 1 基于用户名和密码的 sshclient 方式登录 ...
- paramiko模块-2
如何用paramiko模块模拟登入服务器,并记录操作日志,起到审计的作用? 各个client ---(连接跳转机)--->(跳转机)------>各自的目标服务器. 目前我们公司的跳转机, ...
- Pyhton开发堡垒机之paramiko模块
堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient 用于连接远程服务器并执行基本命令 基于用户名密码连接: + ...
随机推荐
- linux结束进程命令
在linux中,进程之间通过信号来通信.进程的信号就是预定义好一个消息,进程能识别它并决定忽略还是做出反应. 信号 名称 描述 1 HUP 挂起 2 INT 中断 3 QUIT 结束运行 9 KILL ...
- c链表中指针的一些用法要点
/* 结构体不能含有同类型的结构,但是可以含有指向同类型结构的指针.这样的定义是定义一个链表的基础. */1 typedef int Element; 2 3 typedef struct node{ ...
- 【软连接已存在,如何覆盖】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
- NCBI SRA数据如何进行md5校验?
下了一些sra数据库中的公共数据,因为pretech和aspera不稳定,稍微大点的文件经常传断,部分文件我只能通过本地下载再上传. 那么问题来了,sra没有md5校验,我怎么知道我数据的完整性,尤其 ...
- python(3)跳过第一行(多行)读入数据
查了下资料,常见两种办法,一是设置行号,再者是利用python自带的itertools工具. 这里推荐一种新的方法,直接使用readline()函数就搞定. 示例: 创建一个文本文件,内容如下: 1 ...
- 基于 芯片 nordic 52832 rtt 调试(Mac 电脑)
代码配置 // <e> NRF_LOG_BACKEND_SERIAL_USES_UART - If enabled data is printed over UART //======== ...
- Go 性能提升tips--边界检查
1. 什么是边界检查? 边界检查,英文名 Bounds Check Elimination,简称为 BCE.它是 Go 语言中防止数组.切片越界而导致内存不安全的检查手段.如果检查下标已经越界了,就会 ...
- Shell 分发脚本
目录 Shell分发脚本 原理 rsync命令分析 特点 基本语法 实现 需求 环境变量 脚本实现 知识点 获得当前路径的目录dirname 获得当前路径的文件名basename shell远程执行命 ...
- 日常Java 2021/10/18
Vecter类实现了一个动态数组,不同于ArrayList的是,Vecter是同步访问的, Vecter主要用在事先不知道数组的大小或可以改变大小的数组 Vecter类支持多种构造方法:Vecter( ...
- JS去除对象或数组中的空值('',null,undefined,[],{})
javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...