我发现的唯一解决方案是:
cat MyScript.py | ssh username@ip_addr python -
问题是它不会实时显示该脚本的输出,而是等到程序完成后再显示输出
我在此脚本中使用scapy并嗅探数据包,并且我必须在该远程服务器上运行它(不,我不能将其复制或写入那里)
那么解决方案是什么?如何在命令行中实时查看脚本的输出?
我正在使用Windows10。
重要说明:我也认为ssh正在使用某种缓冲,并且在打印内容的数量超过缓冲区之后发送输出,因为当输出很大时,它的确会部分显示出来,我想要该功能的输出将尽快到达我的计算机,而不是在到达缓冲区或其他东西之后
答案 0 :(得分:0)
您应该首先使用
将文件发送到远程计算机。scp MyScript.py username@ip_addre:/path/to/script
然后使用SSH到您的远程计算机
ssh username@ip_addr
最后,您可以正常运行脚本
python path/to/MyScript.py
编辑
要直接执行脚本而不将其复制到远程计算机,请使用以下命令:
ssh user@ip_addr 'python -s' < script.py