【发布时间】:2019-04-08 00:11:19
【问题描述】:
我有这个命令:
ssh 111.222.333.444 curl -s -k https://123.456.789.876:4567/mock.crt -o /root/mock.crt
我想在我正在编写的 Python 应用程序中包含它或它的等价物。我想我需要结合使用请求和 paramiko 来实现这一点。到目前为止,我已经想出了这个:
def add_certs(self):
ssh = paramiko.SSHClient()
ssh.connect(111.222.333.444)
url = 'https://123.456.789.876:4567/mock.crt'
res = ssh.requests.get(url, verify=False)
print("Add mock server certs: " + res.json())
由于服务器当前不可用,我还没有机会运行它。我仍然没有将输出写入文件,而不是标准输出。我该怎么做呢?此外,如果我尝试执行此操作的方式有任何问题,我会非常感谢您的反馈。
【问题讨论】:
-
你能告诉我们你到底想做什么吗?您需要在 SSH 服务器上下载文件吗?或者它也可以从本地机器访问?要将文件存储在 SSH 服务器上还是本地?
-
我需要将文件下载到SSH服务器。
-
顶部的 ssh/curl 命令有效。它将模拟证书添加到服务器。我正在尝试 Python 中的等价物。我想我可以使用 exec_command 之类的命令按原样执行命令,但我认为 requests 可能是尝试此操作的更好方法。
-
好吧,这不是我的问题的答案。无论如何,请参阅我相当模糊的答案(对你相当模糊的问题)。
标签: python python-3.x ssh python-requests paramiko