2010-09-12 41 views
1

我正在研究只在當前會話期間存儲ssh密碼的python腳本。我正在做的是聲明一個類變量credentials = {}。當腳本需要訪問特定的服務器時,它會檢查憑據以查看是否存在憑據['server']。如果是,則使用該處的密碼,如果不是,則提示用戶。在python中的類變量中存儲密碼

這一切都工作正常,但我只是想知道如果這是一個不好的方式來實現呢?這不關鍵,我需要關心安全性。我只是覺得如果我可以將憑據聲明爲私有會很好。

這是一個合理的方法嗎?有沒有更pythonic的方式來做到這一點或更適合python如何處理類成員訪問?

回答

1

有點離題,但是當我編寫腳本的時候會這樣做,安全思想建議使用ssh-agent的方法。代理是一個後臺進程,獨立於python,但在相同的用戶下運行,將存儲憑據。然後腳本不需要擔心提示或處理密碼。

+0

是的,這是一個很好的解決方案,我敢肯定有很多解決方案都非常注重安全性。不過,我正在儘可能地使它變得便攜。不是跨越不同的操作系統,而是跨越不同的Linux發行版,我不想安裝額外的東西。 – Falmarri 2010-09-12 06:50:35

+0

ssh-agent是OpenSSH的一部分,因此它可能安裝在您使用SSH的任何地方。雖然它可以更多的設置來獲得密鑰。 – 2010-09-12 07:03:15