Я хочу использовать один и тот же объект SSH для выпуска exec_command()
несколько раз в модуле Paramiko в Python.Используйте один и тот же объект SSH для выдачи «exec_command()» несколько раз в Paramiko
Цель состоит в том, чтобы получить выход из того же сеанса.
Есть ли способ сделать это? exec_command()
закрывает канал после завершения выполнения команды, а затем для выполнения следующей команды требуется новый объект ssh .. но сеансы будут отличаться от того, что я не хочу.
Код
import os, sys,
import connectlibs as ssh
s = ssh.connect("xxx.xx.xx.xxx", "Admin", "Admin")
channel = s.invoke_shell()
channel.send("net use F: \\\\xyz.xy.xc.xa\\dir\n")
>>>32
channel.send("net use")
>>>7
channel.recv(500)
'Last login: Tue Jun 2 23:52:29 2015 from xxx.xx.xx.xx\r\r\n\x1b]0;~\x07\r\r\n\x1b[[email protected] \x1b[33m~\x1b[0m\r\r\n$ net use F: \\\\xyz.xy.xc.xa\\dir\r\nSystem error 67 has occurred.\r\r\n\r\r\nThe network name cannot be found.\r\r\n\r\r\n\x1b]0;~\x07\r\r\n\x1b[[email protected] \x1b[33m~\x1b[0m\r\r\n$ net use'
>>>
Вы вводите в заблуждение «канал» и «сеанс». Что вы на самом деле пытаетесь сделать? Что означает * «получить выход из той же сессии» * означает? –
HI Martin: Мне нужны выходы для команд с использованием одного и того же «объекта ssh», что означает тот же сеанс. Сессия может иметь несколько каналов - правильно? Я хочу отправить команды один за другим и убедиться, что вывод в порядке. – user2939055
Например, как можно выполнить эквивалент в python: pwd cd .. pwd – Lisle