python 秘钥_python – 使用ssh密钥加密和解密密码

我的python脚本(Python 2.6,在Debian Linux上)要求用户输入密码,然后将其保存在用户主目录中.

因为我不想将密码作为纯文本保护,我想以某种方式加密它.所以我想也许我可以使用用户的(私有)ssh-key来加密和解密保存在文件中的密码,这样只有一个访问私有ssh密钥的人才能解密保存的密码.

为此使用私有ssh密钥是个好主意吗?如何在python中使用密钥加密字符串?

(顺便说一句,我不想​​使用密钥环和类似的东西)

编辑

好吧,我理解使用用户ssh密钥这样的东西是个坏主意.

相反,我现在只使用base64编码,如下所述:

How does one encode and decode a string with Python for use in a URL?

当有人读我的python脚本时,当然不能保存.但它对我来说足够了,不必将密码保存为纯文本.

解决方法:

绝对值得做的唯一事情是存储只有用户可以阅读的文件.

您使用ssh键的参数似乎如下所示:

>我需要存储密码,所以我会对其进行加密

>如果我使用用户的ssh密钥进行加密,这将阻止有人解密密码,即使他们拥有我的脚本源,因为只有用户可以读取他们的ssh密钥.

如果将加密密码存储在文件中,只有用户可以读取,您将获得与使用ssh密钥相同的好处,而无需费心阅读用户的ssh密钥.

我同意不以纯文本格式存储密码有一些好处,以防止有人以root用户身份登录:

cat secret-password

获取密码但记住在Python脚本中找到行说法很容易:

password = decrypt-password(data)

并添加以下行:

print "The user's password is",password

像os.fchown()这样的东西可以保护文件,就像创建具有正确权限的文件一样.

您可以使用base64 encode密码,因此它不是纯文本,但如果我们假设攻击者可以读取和编辑您的脚本,则唯一可以保护用户的是攻击者无法读取包含加密密码的文件.

如果您真的担心这一点,只需在每次运行脚本时提示用户输入密码.

标签:python,ssh-keys

来源: https://codeday.me/bug/20190526/1157649.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值