获取通过rebar3 shell运行的erlang应用程序中的隐藏用户输入

qmb5sa22  于 2023-01-10  发布在  Erlang
关注(0)|答案(1)|浏览(121)

我需要在我的应用程序中启动一个SSH连接,这需要用户名和密码。用户名是常量,所以可以硬编码,但我希望隐藏密码(类似于bash中的read -s pass)。
我试着用io:readio:freadio:read_lineio:get_chars甚至os:cmd("read -s pass")来实现这一点,但它们似乎总是与代码断开,只在shell中交互:

===> Verifying dependencies...
===> Analyzing applications...
===> Compiling app
Erlang/OTP 24 [erts-12.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]

Eshell V12.2.1 (abort with ^G)
.
.
.    app init code......
.
Enter SSH pass: abc.
(node@comp)1>
(node@comp)1>      normal shell, app waiting to continue
(node@comp)1>

我错过了什么吗?有没有其他方法可以让用户输入到应用程序?我应该只使用.ssh散列密码吗?如果是这样,如何?

相关问题