Notifications

向 ssh 客戶端廣播或發送機器可讀程式碼

  • February 2, 2014

這是一個有趣的情況。我有:

  • 一個 Linux 機器,它是一個運動感測器,可以在接收到運動事件時執行命令行命令(請參閱 Linux 運動應用程序)。
  • 另一個(我想)專門用於在檢測到運動時進行額外處理的 Linux 機器。

我不希望第一個 Linux 機器進行額外處理的原因是它的功能嚴重不足,並且不能方便地連接到我想啟動的其他系統。

所以我的問題是,我如何從第一個 Linux 機器廣播或發送機器可讀程式碼到另一個 Linux 機器(或任何 ssh 客戶端)以觸發基於程式碼類型的進一步處理?我嘗試了廣播命令,但由於某種原因,它在客戶端顯示為空而不是特定程式碼。另外,如何使第二個 Linux 機器對程式碼起作用?它應該是一個 cronjob 還是某種監聽器?

第1步

首先確保運動感測器盒上設置了 SSH 私鑰:ssh-keygen.

第2步

然後確保所述私鑰的公鑰在更強大的電腦上。您需要將其放在具有如下名稱的文件的末尾:

/home/${user}/.ssh/authorized_keys

注意: ${user} 是您在功能更強大的電腦上的使用者名。

另外,請確保在功能強大的電腦上,/home/${user}/.ssh/具有 700 ( drwx------) 的權限,並/home/${user}/.ssh/authorized_keys具有 600 ( -rw-------) 的權限。您可以使用chmod來設置權限。

$ chmod 700 /home/${user}/.ssh/
$ chmod 600 /home/${user}/.ssh/authorized_keys

步驟#3

然後,從遠端感測器電腦,執行類似:

$ ssh user@more-powerful-computer '/usr/local/bin/process_motion_event'

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