无需键盘即可在终端的密码字段中输入密码

无需键盘即可在终端的密码字段中输入密码

我的电脑中有几个用于测试的临时帐户,并且我经常在它们之间切换。假设其中一个是test,另一个是test1。我正在工作test,我必须去test1。通常,我会su - test1返回一个Password:询问密码的字段test1。然后我输入密码并点击Enter。有什么方法可以将密码存储在变量中pass并使用su命令来转义该Password:字段吗?

笔记:我知道使用它su并将密码保存在变量中涉及安全风险。我并不担心它们,因为它们只是一些临时帐户。

答案1

su这样做是isatty(3)为了确保 STDIN 实际上是指 TTY。

su因此您不能使用任何变量通过 STDIN传递密码。

答案2

所以,我读了希梅尔回答并感到非常沮丧。然后我注意到乌尔里希·施瓦茨建议使用ssh.做了一些阅读ssh并偶然发现了一个名为 的东西sshpass。它需要密码并向 ssh 命令提供输入。我会浏览漏洞文档/手册页。

我的问题的解决:假设我的passwordfor test1 1tset,我的问题的命令将是:sshpass -p '1tset' ssh test1@host

相关内容