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
python 秘钥_python – 使用ssh密钥加密和解密密码相关推荐
- python 秘钥_python 生成ssh秘钥对
工作中要用到ssh-keygen生成的公钥和私钥,查了很多网站,大部分人用的是Crypto.PublicKey包中的RSA类来模拟ssh-keygen生成秘钥对.偶然间发现paramiko也有一个可以 ...
- git 查看自己秘钥_gitlab配置ssh密钥及简单使用
演示环境:当前系统Centos6.9,使用IP192.168.0.80 修改gitlab仓库地址 编辑gitlab.yml文件 vim /opt/gitlab/embedded/service/git ...
- 如何知道linux的ssh秘钥是否匹配,SSH密钥验证
[SSH登录两种方式验证] (一):用户名密码验证 说明: 1.客户机向服务器发送SSH连接请求 2.服务器收到请求,发送一个公钥给客户机 3.客户机收到公钥,对输入的用户名密码进行加密返回给服 ...
- Linux、Windows、Mac非root普通用户使用秘钥免密SSH登录
目录 Mac/Linux连Linux Mac/Linux连Windows Windows连Linux 前言 一般买来的服务器都是给你root用户,但实际上安全隐患太大.比如我自己的服务器给实验室搭个跳 ...
- python sftp模块_python实现ssh及sftp功能(实例代码)
1.在Linux上我们通过scp命令实现主机间的文件传送,通过ssh实现远程登录 ,比如 我们经常使用的xshell远程登录工具,就是基础ssh协议实现window主机远程登录Linux主机 下面简单 ...
- xshell 秘钥连接_Xshell使用密钥方式登陆
基于Xshell使用密钥方式连接远程主机 连接远程主机,就验证身份而言,一般有两种方式,一种是通过用户密码:另一种通过公钥的方式(Public Key). S}BQ$AONT4`UT9Z6%S[O]2 ...
- python常用加密算法_python 三个常用加密 base64,md5,sha1
做比赛的经常会用到这三个算法 今天集合在一起 [python] import hashlib import base64 s = 'justforfun' print s for i in range ...
- python中base64加密字典_python中的base64加密和解密
import base64 import json def row_data(): content = { "buyer_nick": "家有亲亲", &quo ...
- iOS安全之RSA加密/生成公钥、秘钥 pem文件
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
- iOS RSA加密 以及生成公钥 秘钥 pem文件
在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公钥(Public key)用于加密,.p12格式的文件存放的是私钥(Private key)用于 ...
最新文章
- 一文读懂语音识别技术原理
- java 入门 第三季1
- java修饰符总结,java访问修饰符总结
- linux双网卡端口聚合,Linux双网卡聚合改造
- UVA-714 二分
- PureCode--iOS--自定义UITableViewCell(含疑问)
- (原创)sqlite封装库SmartDB1.3发布
- docker没有下载完全_一个时代的结束:苹果正式关闭iTunes,但歌曲下载并没有完全消失...
- MDESIGN-设计标准化系统
- 开源掌机芯片方案对比
- 到底买苹果XS还是XR_苹果xs和苹果xr内部相爱相杀:队友之间该如何选择?
- 我是CTO,我为CEO吹过的牛逼买单!
- Transitive attribute传递属性
- EPSON1100清零软件 在哪有?
- 你们能送我一句加油的话吗?
- BLDC反电动势的一些知识点
- 锁屏界面提示某些设置已隐藏_息屏还有这些“骚操作”,华为这几个隐藏小功能快用起来...
- 华为机试:胡杨树补种
- 月收入一万的你,月底可以攒多少钱?
- VUE Module build failed: TypeError: this.getOptions is not a function at Object.loader 解决办法
热门文章
- Nginx实战基础篇七 最新源码包通过脚本部署LAMP搭建Discuz论坛
- Ryu控制器正则表达式字符串 r'[0-9]{1,4}|all' 分析
- [HTML] Prettify 代码高亮使用总结
- BZOJ3687 简单题
- c语言qsort函数对结构体的一级排序,sort和qsort函数对结构体的二级排序
- c ringbuffer 源码_Python Ring Buffer的实现
- python thread start_Python中Thread类的start和run方法的区别
- php创建可读文件,php – 我需要一个人类可读的,可解析的文件格式
- 简述python2.x和python3.x的区别_python面试题Python2.x和Python3.x的区别
- python编程题字符串的美化_Python编程题15--RGB字符串排序