欢迎访问宙启技术站
智能推送

Python实现SCP文件传输功能的示例代码

发布时间:2023-12-17 06:47:14

Python中可以使用paramiko库来实现SCP文件传输功能。paramiko是一个用于SSH协议的Python库,可以用于远程执行命令,上传下载文件等操作。

以下是一个实现SCP文件传输的示例代码:

import paramiko

def scp_transfer(host, port, username, password, local_file, remote_path):
    # 创建SSH客户端
    client = paramiko.SSHClient()
    # 允许连接不在known_hosts文件中的主机
    client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
    # 连接服务器
    client.connect(host, port, username, password)
    
    try:
        # 创建一个SCP客户端
        scp = client.open_sftp()
        # 将本地文件上传到远程路径
        scp.put(local_file, remote_path)
        # 关闭SCP客户端
        scp.close()
    finally:
        # 关闭SSH客户端
        client.close()

# 使用例子
if __name__ == "__main__":
    host = "192.168.1.100"    # 远程服务器的IP地址
    port = 22                 # SSH端口,默认为22
    username = "user"         # 登录用户名
    password = "password"     # 登录密码
    local_file = "/path/to/local_file.txt"   # 本地文件路径
    remote_path = "/path/to/remote_file.txt" # 远程文件路径
    
    scp_transfer(host, port, username, password, local_file, remote_path)

在上面的代码中,首先创建了一个SSH客户端,然后使用connect方法连接到远程服务器。接下来创建了一个SCP客户端,使用put方法将本地文件上传到远程路径中。最后关闭了SCP客户端和SSH客户端。

在使用例子中,我们需要替换相应的参数,包括远程服务器的IP地址、SSH端口、登录用户名和密码、本地文件路径以及远程文件路径。