我有这个命令:
ssh 111.222.333.444 curl -s -k https://123.456.789.876:4567/mock.crt -o /root/mock.crt
字符串
我想在我正在编写的Python应用程序中包含它或它的等效物。我想我需要使用requests和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())
型
我还没有机会运行这个,因为服务器目前不可用。我仍然没有得到输出写入文件,而不是stdout。我该怎么做?此外,如果有任何错误的方式,我试图这样做,我会感激的反馈。
1条答案
按热度按时间5vf7fwbs1#
SSH协议本身没有API来让服务器下载文件并将其存储在本地(服务器上)。
这是真的,不管是不是Python。
您所能做的就是在SSH服务器上执行 * 某个应用程序或命令 *(如
curl
或类似的命令),以便为您执行。在Python/Paramiko中,你可以使用SSHClient.exec_command
。