我正在运行一个软件守护程序,它需要某些操作来输入密码来解锁某些功能,例如:
$ darkcoind masternode start <mypassphrase>
Run Code Online (Sandbox Code Playgroud)
现在我在我的无头 debian 服务器上遇到了一些安全问题。
例如,每当我搜索我的 bash 历史记录时,Ctrl+R
我都可以看到这个超强密码。现在我想我的服务器被入侵了,一些入侵者可以访问 shell,并且可以简单地Ctrl+R
在历史记录中找到我的密码。
有没有办法输入密码而不显示在 bash 历史记录ps
、/proc
或其他任何地方?
更新 1:不向守护程序传递密码会引发错误。这是没有办法的。
更新 2:不要告诉我删除软件或其他有用的提示,例如挂掉开发人员。我知道这不是最佳实践示例,但该软件基于比特币,并且所有基于比特币的客户端都是某种 json rpc 服务器,它侦听这些命令,并且它的已知安全问题仍在讨论中(a、b、c) .
更新 3:守护进程已经启动并使用命令运行
$ darkcoind -daemon
Run Code Online (Sandbox Code Playgroud)
做ps
只显示启动命令。
$ ps aux | grep darkcoin
user 12337 0.0 0.0 10916 1084 pts/4 S+ 09:19 0:00 grep darkcoin
user 21626 0.6 0.3 1849716 130292 ? SLl May02 6:48 darkcoind …
Run Code Online (Sandbox Code Playgroud)