2012-11-01 35 views
3

因此,我最近偶然發現了python結構api,並且對於它如何幫助我處理日常的系統管理任務感到非常滿意。我想在工作中開始使用它,但它是一個非常注重安全性的環境。我想知道織物在運行任務時如何處理您提供給它的ssh密碼?我假設它在某處存儲在內存中,並在需要登錄到env.hosts的下一個主機時將其拉出。它在內存中如何保護這個密碼?python結構如何保護ssh憑證?

我可以看到我將被問到很多問題沿着這些線,所以我正在尋找一種很好的方式來解釋安全意識類型的人面料是友善的,並不構成風險或至少沒有比我們已經擁有的任何其他風險更大:)

+1

https://github.com/fabric/fabric/blob/master/fabric/operations.py中的'sudo'命令代碼。 – dm03514

回答

4

我簡短地瀏覽了source @ dm03514引用,我相信你是正確的,如果和當光纖網需要交互式提示輸入密碼,它會將它讀入內存並在織物python進程期間存儲它。解決您的問題的方法不是針對結構本身,而是確保您的ssh基礎結構在適當的情況下使用密鑰而不是密碼短語和ssh代理轉發。使用已加密的ssh密鑰和ssh-agent來解鎖它們,並且fabric將能夠使用相同的機制,從而避免ssh密碼參與其中。對於sudo密碼,您必須允許無密碼的sudo,或者在內存運行時接受內存中具有sudo密碼的風險。