博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python_paramiko模块
阅读量:5095 次
发布时间:2019-06-13

本文共 1827 字,大约阅读时间需要 6 分钟。

利用paramiko模块模拟ssh执行命令(明文用户名密码):

import paramikossh = paramiko.SSHClient()    #创建ssh对象ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy)   #当找不到验证时自动添加ssh.connect(hostname='192.168.1.104',port=22,username='songsa',password='123456')   #连接服务器data = input('>>>')std_in,std_out,std_err = ssh.exec_command(data)   #执行命令out,err = std_out.read(),std_err.read()result = out if out else err  #如果执行正确 result= stdout.read(),否则 result= stderr.read()print(result.decode())

 

利用paramiko模块模拟ftp来上传下载(明文用户名密码):

import paramikotransport = paramiko.Transport(('192.168.1.104',22))   #创建实例transport.connect(username='root',password='123456')  #建立连接sftp = paramiko.SFTPClient.from_transport(transport)  #将创建的实例当作参数传给paramiko.SFTPClient.from_transport,交互实在这里边进行的sftp.put(r'C:\Users\songsa\Desktop\python.tgz','/home/songsa/python_test/python.tgz') #上传sftp.get('/home/songsa/python_test/python.tgz',r'C:\Users\songsa\Desktop\python.tgz') #下载transport.close()

 

利用paramiko模块模拟ssh执行命令(基于公钥):

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(r'C:\Users\songsa\PycharmProjects\untitled\3.21\id_rsa')ssh = paramiko.SSHClient()  #创建SSH对象ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy) #允许连接不在know_hosts文件中的主机ssh.connect(hostname='192.168.1.104',port=22,username='songsa',pkey=private_key)#连接服务器stdin,stdout,stderr =  ssh.exec_command('pwd') #执行命令result = stdout.read()print(result.decode())ssh.close()

 

利用paramiko模块模拟ftp来上传下载(基于公钥):

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file(r'C:\Users\songsa\PycharmProjects\untitled\3.21\id_rsa')transport = paramiko.Transport(('172.20.0.158', 22))transport.connect(username='songsa', pkey=private_key)sftp = paramiko.SFTPClient.from_transport(transport)sftp.get('/home/songsa/.ssh/id_rsa','id_rsa.txt')transport.close()

 

转载于:https://www.cnblogs.com/ss-py/p/8623851.html

你可能感兴趣的文章
20172319 实验三《查找与排序》实验报告
查看>>
构造函数的继承
查看>>
Nginx的虚拟主机配置
查看>>
overflow 属性
查看>>
Java中多态的一些简单理解
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
[最小割][Kruskal] Luogu P5039 最小生成树
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
Javascript的调试利器:Firebug使用详解
查看>>
(转)Android之发送短信的两种方式
查看>>
使用vue脚手架搭建项目
查看>>
Java基础之ArrayList与LinkedList、Vector,以及HashMap与HashTable的区别
查看>>
网络爬虫初步:从一个入口链接开始不断抓取页面中的网址并入库
查看>>
iOS archive(归档)的总结 (序列化和反序列化,持久化到文件)
查看>>
python第九天课程:遇到了金角大王
查看>>
字符串处理
查看>>
ECharts(Enterprise Charts 商业产品图表库)初识
查看>>
LeetCode Factorial Trailing Zeroes (阶乘后缀零)
查看>>
hdu 5402 Travelling Salesman Problem (技巧,未写完)
查看>>