首页 > 解决方案 > openssl pass 参数是否通过 bash 安全?

问题描述

openssl 手册页说 openssl 命令的“-pass pass:[password]”选项不安全,因为它对诸如 之类的实用程序可见ps,但是通过 bash 是否安全?

像这样:

#!/bin/bash

read -s psword

openssl enc -pass pass:$psword -aes-256-cbc -in text.plaintext -out text.encrypted

我在我的电脑上运行了这样的程序,ps似乎看到的都是“ openssl”。其他实用程序能否看到密码?

标签: bashshellsecurityopensslps

解决方案


在任何操作系统中,命令行通常都很容易从任何进程中正常获取。请参阅此答案以获取进程的命令行。因此,无论是 bash 还是某些自定义应用程序,什么“启动”该过程并不重要。这就是给出该建议的原因。

任何这些事情都归结为风险。如果您接受它不那么安全的风险,那么没有理由不使用命令行(即它是您的机器,而您是唯一使用它的人)。如果很多人可以看到您的进程会话并且可能看到敏感密码,那么风险可能不值得。由您决定风险是否可以接受。


推荐阅读