Как запустить скрипт Python с локального компьютера на удаленном сервере и отобразить результаты в реальном времени? - PullRequest
0 голосов
/ 15 декабря 2018

Единственное решение, которое я нашел, было следующее:

cat MyScript.py | ssh username@ip_addr python -

проблема в том, что он не будет отображать результаты этого сценария в реальном времени, он ждет, пока программа не будет завершена, а затем отображает вывод

Я использую scapy с в этом сценарии и сниффинг пакетов с ним, и мне нужно запустить это на этом удаленном сервере (и нет, я не могу скопировать его туда или записать там)

так в чем же решение?Как я могу просмотреть результаты сценария жить в моей командной строке?

Я использую Windows 10.

Важное примечание: я также думаю, что ssh использует какую-то буферизацию и отправляет вывод после того, как количество печатаемого материала становится больше, чем буфер, так как когдавывод очень большой, он показывает часть этого внезапно, я хочу, чтобы вывод этой функции пришел на мой компьютер как можно скорее, а не после достижения буфера или чего-то еще

1 Ответ

0 голосов
/ 15 декабря 2018

Сначала вы должны отправить файл на удаленный компьютер, используя

scp MyScript.py username@ip_addre:/path/to/script

, затем SSH на удаленный компьютер, используя

ssh username@ip_addr

И, наконец, вы запускаете свой скрипт нормально

python path/to/MyScript.py

EDIT

Чтобы выполнить сценарий напрямую, не копируя его на удаленный компьютер, используйте эту команду:

ssh user@ip_addr 'python -s' < script.py
...