2017-08-22 155 views
3

我想用paramiko啓動一個Python腳本,它連接到我的樹莓作爲服務器。然後連接如到覆盆子後,它開始這樣的腳本(將數據從另一臺電腦發送到一個Arduino):用SSH在shell中啓動Python腳本

import tty 
import sys 
import termios 
import serial 
import os 

arduino = serial.Serial('/dev/ttyUSB0' , 9600) 

x = "./mjpg_streamer -i \"./input_uvc.so -d /dev/video0 -y\" -o \"./output_http.so -w ./www\"" 
os.system(x) 


orig_settings = termios.tcgetattr(sys.stdin) 

tty.setraw(sys.stdin) 
x = 0 
while x != chr(27): # ESC 
    x=sys.stdin.read(1)[0] 
    arduino.write(x) 
termios.tcsetattr(sys.stdin, termios.TCSADRAIN, orig_settings) 

此代碼的工作好了,實物的的raw_input只是爲了簡化。

我想通過ssh自動連接到樹莓,並啓動一個python腳本,它將要求輸入 - 在上面的代碼中是一個常量 - 。 我覺得像用上面的腳本已經打開一個新的殼或類似的東西...

回答

4

快速回答,沒有任何選項可以幫助您將密碼插入到ssh命令。您必須設置一個共享密鑰對才能使用ssh,而無需密碼提示。在互聯網上搜索可以給你很多答案,例如:http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id

所以首先設置密鑰對。然後使用普通的ssh來檢查它是否成功。最後,在你的python腳本中,添加一些代碼來處理ssh。