2010-04-07 52 views
0

我有,我不能使用預共享密鑰和ssh服務器 - 所有的認證是通過交互提示。使用安全的方式「希望」自動登錄/遠程工作

該服務器還具有cronat非root用戶禁用。

我希望能夠cron我的本地機器上的作業,將運行一個腳本對遠程服務器做定期維護/報告。

我已經與expect一起玩了一些,但已經注意到爲了使它在正確的時間自動將密碼提示給提示,它需要以明文形式存儲。

有沒有一種方法來保護密碼的方式,我輸入一次,然後它是炒/無論本地(如passwd做的),然後我沒有存儲明文密碼在腳本本身?

回答

2

這是非常不安全堅持基於密碼的身份驗證,因爲基於僵屍網絡的攻擊可以鈍化denyhosts的效用。但是,如果你一定要,你必須...

卡時在這種情況下是把密碼放到一個文件從腳本分離,使該密碼文件只能由我可讀性,使目錄我會做如何也只能由我讀取(並可執行)。我還會非常小心地確保密碼永遠不會作爲參數或環境變量傳遞;這兩個都是簡單的snoopable與ps。傳遞密碼文件的名稱是OK(可以保護路徑)並通過未命名的管道傳遞密碼也是安全的。

+0

我並不關心這臺服務器的僵屍網絡:它位於沒有外部連接的分段網絡上 – warren 2010-04-08 15:01:53

2

存儲密碼總是不安全的(如果你需要訪問明文密碼)。您的腳本必須具有「解碼」邏輯。任何對您的腳本具有讀取訪問權限的人都可以確定編碼密碼的存儲位置以及如何對其進行解碼。

這是一個判斷你的電話。你更看重什麼:自動化(節省你的時間)或密碼安全性?