gpt4 book ai didi

python - 在 Python 中使用代理命令连接到 SFTP 客户端

转载 作者:行者123 更新时间:2023-12-02 14:07:20 49 4
gpt4 key购买 nike

我需要使用代理命令连接到 SFTP 服务器。

我知道如何直接连接到 SFTP 服务器:
paramiko's sshclient with sftp

我可以使用以下代码通过代理命令打开 SSH 连接:

import paramiko
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
target_host = 'sftp.XXXXX.co'
target_port = 22
proxy = paramiko.proxy.ProxyCommand('/usr/bin/nc --proxy proxy_host:8080 %s %d' % (target_host, target_port) )
client.connect(hostname=target_host,username='username', port=target_port, password='XXXXXXXX', sock=proxy)

但我需要创建 SFTPClient,而不是 SSHClient。但我不知道如何将 ProxyCommand 传递给 SFTPClient

最佳答案

要使用“自定义套接字”连接到 SFTP 服务器,请执行以下操作:

proxy = paramiko.proxy.ProxyCommand(...)
transport = paramiko.Transport(proxy)
transport.connect(username = username, password = password)
sftp = paramiko.SFTPClient.from_transport(transport)

关于python - 在 Python 中使用代理命令连接到 SFTP 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47010462/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com