博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python自学笔记-paramiko模块(Mr serven)
阅读量:6633 次
发布时间:2019-06-25

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

文章出处:http://www.cnblogs.com/wupeiqi/articles/5095821.html

SSHClient

用于连接远程服务器并执行基本命令

基于用户名密码连接:

#!/usr/bin/env python3# -*- coding:utf-8 -*-import paramikossh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='10.245.53.85', port=23, username='Administrator', password='Aa1')stdin, stdout, stderr = ssh.exec_command('dir')result = stdout.read()ssh.close()
# SSHClient 封装Transport
import paramikotransport = paramiko.Transport(('hostname',22))transport.connect(username="Administrator", password="Aa1")ssh = paramiko.SSHClient()ssh._transport = transportstdin, stdout, stderr = ssh.exec_command('dir')print(stdout.read())transport.close()

基于公钥密钥连接:

#!/usr/bin/env python3# -*- coding:utf-8 -*-import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')ssh = paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())ssh.connect(hostname='localhost',port=22, username='william',password='111111')stdin, stdout, stderr = ssh.exec_command('df')result = stdout.read()ssh.close()
import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('hone/id_rsa')transport = paramiko.Transport(('hostname',22))transport.connect(username='william',pkey=private_key)ssh = paramiko.SSHClient()ssh._transport = transportstdin, stdout, stderr = ssh.exec_command('df')transport.close()
import paramikofrom io import StringIOkey_str = """-----BEGIN RSA PRIVATE KEY-----MIIEpQIBAAKCAQEAq7gLsqYArAFco02/55IgNg0r7NXOtEM3qXpb/dabJ5Uyky/8NEHhFiQ7deHIRIuTW5Zb0kD6h6EBbVlUMBmwJrC2oSzySLU1w+ZNfH0PE6W6fansDlQC4Zb73nHgdREtQYYXTu7p27Bl0Gizz1sW2eSgxFU8eTh+ucfVwOXKAXKU5SeI+MbuBfUYQ4if2N/BXn47+/ecf3A4KgB37Le5SbLDddwCNxGlBzbpBa0=-----END RSA PRIVATE KEY-----"""private_key = paramiko.RSAKey(file_obj=StringIO(key_str))transport = paramiko.Transport(('10.0.1.40',22))transport.connect(username='william',pkey=private_key)ssh = paramiko.SSHClient()ssh._tansport = transportstdin, stdout, stderr = ssh.exec_command('dir')result = stdout.read()transport.close()print(result)

SFTPClient

用于连接远程服务器并执行上传下载

基于用户名密码上传下载

#!/usr/bin/env python3# -*- coding:utf-8 -*-import paramikotransport = paramiko.Transport(('10.103.110.211',22))transport.connect(username='william',password='111111')sftp = paramiko.SFTPClient.from_transport(transport)sftp.get('Goal.jpg','..\homeWork')transport.close()

基于公钥密钥上传下载

import paramikoprivate_key = paramiko.RSAKey.from_private_key_file('/home/auto/.ssh/id_rsa')transport = paramiko.Transport(('hostname',22))transport.connect(username='william',pkey=private_key)sftp = paramiko.SFTPClient.from_transport(transport)sftp.put('/william/test.py','/willian/test.py')sftp.get('remove_path','local_path')

 

 

转载于:https://www.cnblogs.com/william126/p/7217235.html

你可能感兴趣的文章
技术人的生命之源在于绝不固步自封而不断进取的精神
查看>>
Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)
查看>>
kibana智能检索发送多次_msearch —— 配置index pattern,同时设置时间段,就知道到底是在哪些索引里去查找数据了...
查看>>
Linux 小知识翻译 - 「命令行的提示符」
查看>>
Tcp通信
查看>>
【Visual C++】Windows GDI贴图闪烁解决方法
查看>>
blueImp/jQuery file upload 的正确用法(限制上传大小和文件类型)
查看>>
[SilverLight] DataGrid实现批量输入(like Excel)
查看>>
Security2:角色和权限
查看>>
linq to js使用汇总
查看>>
【下载源码】在线生成网页缩略图.超越Snap.com:WebSnap Beta 1.1 发布。感谢博客园的“萧寒”重写的底层。开源。...
查看>>
yyMMddHHmm字符日期格式为yyyy-MM-dd HH:mm:ss日期格式
查看>>
Hadoop里如何Mysql编程
查看>>
HBase编程 API入门系列之delete(客户端而言)(3)
查看>>
建造者模式
查看>>
JS:1.什么是JavaScript?
查看>>
JAVA规则引擎 -- Drools
查看>>
Gradle - Manifest
查看>>
自定义Unity基于PerCall的生存期模型
查看>>
Unity5 AssetBundle系列——简单的AssetBundleManager
查看>>