как произвести консоль от удаленного компьютера (ssh + Python)

Посмотрите Закон Текучих Абстракций - слишком много сахара, и Вы просто используете его, не понимая или зная то, что продолжается, и это делает его все больше трудно, чтобы отладить, если что-то делает , идут не так, как надо. Это не так много, что "синтаксический сахар" является плохой вещью, просто что много программистов полагается на него, действительно не будучи знающим, что они экранируются от, и затем если синтаксический сахар сталкивается с проблемами, они завинчены.

8
задан stanleyxu2005 7 March 2014 в 03:20
поделиться

3 ответа

Вы также можете изучить paramiko , еще одну библиотеку SSH для Python.

1
ответ дан 5 December 2019 в 13:00
поделиться

Вы пробовали еще более простой подход?

>>> from subprocess import Popen, PIPE
>>> stdout, stderr = Popen(['ssh', 'user@remote_computer', 'ps -ef'],
...                        stdout=PIPE).communicate()
>>> print(stdout)

Конечно, это работает только потому, что у меня ssh-agent работает с предварительно загруженным закрытым ключом, о котором знает удаленный хост .

8
ответ дан 5 December 2019 в 13:00
поделиться

Попробуйте отправить

p.sendline("ps -ef\n")

IIRC, отправленный вами текст интерпретируется дословно, поэтому другой компьютер, вероятно, ждет, пока вы завершите команду.

1
ответ дан 5 December 2019 в 13:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: