我正在编写一个 C Shell 程序,它将执行 su
或 sudo
或 ssh
。他们都希望在控制台输入(TTY)而不是标准输入或命令行中输入密码。
有人知道解决方案吗?
设置无密码 sudo
不是一种选择。
expect 可能是一个选项,但它不存在于我的精简系统中。
原文由 n-alexander 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在编写一个 C Shell 程序,它将执行 su
或 sudo
或 ssh
。他们都希望在控制台输入(TTY)而不是标准输入或命令行中输入密码。
有人知道解决方案吗?
设置无密码 sudo
不是一种选择。
expect 可能是一个选项,但它不存在于我的精简系统中。
原文由 n-alexander 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答800 阅读✓ 已解决
2 回答3.2k 阅读
对于 sudo,有一个 -S 选项用于接受来自标准输入的密码。这是男人的条目:
这将允许您运行如下命令:
至于 ssh,我已经做了很多尝试来自动化/脚本化它的使用,但没有成功。似乎没有任何内置方法可以在不提示的情况下将密码传递给命令。正如其他人所提到的,“ expect ”实用程序似乎旨在解决这一难题,但最终,设置正确的私钥授权是尝试自动化此操作的正确方法。