Ssh

在遠端機器上執行本地 python 腳本

  • December 12, 2016

我希望執行我在遠端機器上本地磁碟上的 python 腳本。我曾經像這樣執行 bash 腳本:

cat script.sh | ssh user@machine

但我不知道如何為 Python 腳本做同樣的事情。

正如其他人所說,將其通過管道傳輸到 ssh 中。但是你要做的是給出正確的論據。您將需要添加-u以正確從 ssh 獲取輸出。並想添加-處理輸出和以後的參數。

ssh user@host python -u - < script.py

如果要提供命令行參數,請將它們添加到-.

ssh user@host python -u - --opt arg1 arg2 < script.py

使用 python 的 remrunner 包。它將本地腳本複製到遠端機器,然後執行它們。

pip install remrunner

python
>> from rumrunner import runner

>> r = runner.Runner(REMOTE_HOST_IPADDR, REMOTE_HOST_USER)
>> rval, stdout, stderr = r.run('/path/to/local/script.py')
>> if rval:
   print stderr
else:
   print stdout

引用自:https://unix.stackexchange.com/questions/299657