博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
paramiko远程上传下载文件
阅读量:6787 次
发布时间:2019-06-26

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

import paramikoimport sysuser = "root"pwd = "123456"# 上传文件def sftp_upload_file(server_path, local_path):    try:        t = paramiko.Transport((ip, 22))        t.connect(username=user, password=pwd)        sftp = paramiko.SFTPClient.from_transport(t)        sftp.put(local_path, server_path)        t.close()    except Exception as  e:        print(e)# 下载文件def sftp_down_file(server_path, local_path):    try:        t = paramiko.Transport((ip, 22))        t.connect(username=user, password=pwd)        sftp = paramiko.SFTPClient.from_transport(t)        sftp.get(server_path, local_path)        t.close()    except Exception as e:        print(e)# 连接def ssh_conn(ip, cmd):    ssh = paramiko.SSHClient()    # 允许连接不在known_hosts文件上的主机    ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())    # 连接服务器    ssh.connect(ip, 22, user, pwd)    # 执行命令    stdin, stdout, stderr = ssh.exec_command(cmd)    # 获取结果    print(10 * "-", 'start', 10 * "-")    for line in stdout:        res=(line.strip('\n').split())        print(res)    else:        print(stdout)    print(10 * "-", 'end', 10 * "-")def menu():    print('''    * - - - - - - - - - - - - - - - - - *                        菜单                                     1>上传文件                                 2>下载文件                3>执行命令                4>退出    * - - - - - - - - - - - - - - - - - *    ''')    choice = int(input('请输入你要执行的操作:\n'))    if choice == 1:        src = input('请输入原路径:\n')        dest = input('请输入目标路径:\n')        sftp_upload_file(src, dest)    elif choice == 2:        src = input('请输入原路径:\n')        dest = input('请输入目标路径:\n')        sftp_down_file(src, dest)    elif choice == 3:        while True:            cmd = input('请输入要执行的命令:\n')            if cmd == 'eixt':                sys.exit()            ssh_conn(ip, cmd)    else:        sys.exit()if __name__ == '__main__':    ip = input('请输入目标ip:\n')    while True:        menu()

 

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

你可能感兴趣的文章
如何解决arcmap中的反走样问题。
查看>>
C++基础之函数和作用域
查看>>
Android 关于在ScrollView中加上一个ListView,ListView内容显示不完全(总是显示第一项)的问题的两种简单的解决方案...
查看>>
【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解
查看>>
sql标识符和格式
查看>>
LB 面试
查看>>
调用WebService DataTable类型方法
查看>>
html中加载外部字体
查看>>
c++在函数后面加const
查看>>
基类中定义的虚函数,子类中必须要覆盖吗?为什么?
查看>>
OGL 客户端API(一)
查看>>
ADF_Advanced ADF系列3_启用Fusion应用的安全性(Part1)
查看>>
SVN服务器搭建和使用(二)
查看>>
js数组及常用数学方法
查看>>
silverlight+wcf+linq to sql访问数据
查看>>
存板子专用
查看>>
PHP 笔记——Web页面交互
查看>>
在linux下使用curl访问 多参数url GET参数问题
查看>>
Linux命令pmap
查看>>
路飞学城-Python开发集训-第2章
查看>>