首页 > 解决方案 > 如何使用 SSH 密钥编写 Python Paramiko SFTP

问题描述

我已经写了一个在 python 中有一个 main 方法的方法,它有很多创建文件的操作。现在我想 SFTP 该文件并将其从本地服务器发送到远程服务器。我可以请任何人帮助我如何在 python 中添加一个方法,该方法将首先执行 main 方法,然后执行用于 SFTP 目的的 paramiko 方法。请教我一个简单的代码。我很困惑!

标签: pythonparamiko

解决方案


import paramiko


def upload_file(remote_server, ssh_user, ssh_password, local_filepath, remote_path, port_number=22):
    sftp = None
    transport = None

    try:
        # Create transport instance and setup SFTP connection
        transport = paramiko.Transport((remote_server, port_number))
        transport.connect(None, ssh_user, ssh_password)
        sftp = paramiko.SFTPClient.from_transport(transport)

        # Upload file to remote destination
        sftp.put(local_filepath, remote_path)
    except Exception as e:
        print(f'Failed to transfer files: {e}')
        if sftp:
            sftp.close()
        if transport:
            transport.close()

示例调用

upload_file("10.197.15.1", "ssh_user", "ssh_password", "/tmp/myfile.txt", "/home/user/sftp/myfile.txt")

推荐阅读