博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
paramiko的使用
阅读量:6982 次
发布时间:2019-06-27

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

1 import paramiko 2 import sys 3  4  5 user = "root" 6 pwd = "123456" 7  8  9 10 # 上传文件11 def sftp_upload_file(server_path, local_path):12     try:13         t = paramiko.Transport((ip, 22))14         t.connect(username=user, password=pwd)15         sftp = paramiko.SFTPClient.from_transport(t)16         sftp.put(local_path, server_path)17         t.close()18     except Exception as  e:19         print(e)20 21 # 下载文件22 def sftp_down_file(server_path, local_path):23     try:24         t = paramiko.Transport((ip, 22))25         t.connect(username=user, password=pwd)26         sftp = paramiko.SFTPClient.from_transport(t)27         sftp.get(server_path, local_path)28         t.close()29     except Exception as e:30         print(e)31 32 # 连接33 def ssh_conn(ip, cmd):34 35     ssh = paramiko.SSHClient()36     # 允许连接不在known_hosts文件上的主机37     ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())38     # 连接服务器39     ssh.connect(ip, 22, user, pwd)40     # 执行命令41     stdin, stdout, stderr = ssh.exec_command(cmd)42     # 获取结果43     print(10 * "-", 'start', 10 * "-")44     for line in stdout:45         res=(line.strip('\n').split())46         print(res)47     else:48         print(stdout)49     print(10 * "-", 'end', 10 * "-")50 51 def menu():52     print('''53     * - - - - - - - - - - - - - - - - - *     54                    菜单                     55                 1>上传文件                 56                 2>下载文件57                 3>执行命令58                 4>退出59     * - - - - - - - - - - - - - - - - - *60     ''')61 62     choice = int(input('请输入你要执行的操作:\n'))63     if choice == 1:64         src = input('请输入原路径:\n')65         dest = input('请输入目标路径:\n')66         sftp_upload_file(src, dest)67     elif choice == 2:68         src = input('请输入原路径:\n')69         dest = input('请输入目标路径:\n')70         sftp_down_file(src, dest)71     elif choice == 3:72         while True:73             cmd = input('请输入要执行的命令:\n')74             if cmd == 'eixt':75                 sys.exit()76             ssh_conn(ip, cmd)77     else:78         sys.exit()79 80 81 if __name__ == '__main__':82     ip = input('请输入目标ip:\n')83     while True:84         menu()

 

转载于:https://www.cnblogs.com/ray-mmss/p/10619244.html

你可能感兴趣的文章
美国支付巨头Verifone遭遇网络攻击
查看>>
开平推进智慧城市等领域信息化建设及公共数据资源共享
查看>>
宜兴电信成功跨界合作开拓农村物联网市场
查看>>
Oracle业务适合用PostgreSQL去O的一些评判标准
查看>>
多个常见代码设计缺陷
查看>>
今年光伏市场规模可达30GW 分布式有望占据三分江山
查看>>
因新漏洞问题 Firefox 49发布时间将延期一周
查看>>
WLAN产品形态之分层架构
查看>>
《敏捷可执行需求说明 Scrum提炼及实现技术》—— 1.2 识别不确定性的影响
查看>>
Chrome 隐藏 SSL 证书信息 禁止禁用 DRM
查看>>
《Windows Server 2012 Hyper-V虚拟化管理实践》——3.2 Hyper-V主机日常管理
查看>>
《C语言编程魔法书:基于C11标准》——第一篇 预备知识篇 第1章 C魔法概览1.1 例说编程语言...
查看>>
《IPv6安全》——1.7 推荐读物和资料
查看>>
《实施Cisco统一通信管理器(CIPT2)》一1.2 概述部署多站点环境时将会遇到的挑战...
查看>>
《Photoshop Lab修色圣典(修订版)》—第1课深入讨论
查看>>
Chromium 操作系统即将支持所有 SBC 单板电脑
查看>>
《CCNP安全Secure 642-637认证考试指南》——第8章 配置与实施路由式数据面安全...
查看>>
Remix OS PC 版面向全球开放
查看>>
Debian GNU/Linux 9 将切换至 GCC6 编译器
查看>>
《VMware 网络技术:原理与实践》—— 3.2 以太网
查看>>