为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不覆盖TTY的情况下将密码传递给su/sudo/ssh?

如何在不覆盖TTY的情况下将密码传递给su/sudo/ssh?

芜湖不芜 2019-07-27 15:15:39
如何在不覆盖TTY的情况下将密码传递给su/sudo/ssh?我正在编写一个C Shell程序su或sudo或ssh..他们都希望自己的密码在控制台输入(TTY),而不是stdin或命令行。有人知道解决办法吗?设置无密码sudo不是一种选择。期待可能是一种选择,但在我的精简系统中不存在。
查看完整描述

3 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

对于sudo,有一个-S选项可以接受标准输入中的密码。下面是男子的参赛名单:

    -S          The -S (stdin) option causes sudo to read the password from
                the standard input instead of the terminal device.

这将允许您运行如下命令:

echo myPassword | sudo -S ls /tmp

至于ssh,我曾多次尝试自动化/脚本它的使用,但没有成功。似乎没有任何内置方式可以在没有提示的情况下将密码传递到命令中。正如其他人所提到的,“期待“实用程序似乎旨在解决这一困境,但最终,建立正确的私钥授权是正确的方式,当试图自动化这一点。




查看完整回答
反对 回复 2019-07-28
?
慕哥9229398

TA贡献1877条经验 获得超6个赞

我编写了一些AppleScript,它通过对话框提示输入密码,然后构建一个自定义bash命令,如下所示:

echo <password> | sudo -S <command>

我不确定这是否有帮助。

如果sudo接受了一个预先加密的密码,那么我就可以在我的脚本中加密它,而不用担心周围会出现明文密码。不过,这对我和我的情况都适用。




查看完整回答
反对 回复 2019-07-28
?
GCT1015

TA贡献1827条经验 获得超4个赞

我编写了一些AppleScript,它通过对话框提示输入密码,然后构建一个自定义bash命令,如下所示:

echo <password> | sudo -S <command>

我不确定这是否有帮助。

如果sudo接受了一个预先加密的密码,那么我就可以在我的脚本中加密它,而不用担心周围会出现明文密码。不过,这对我和我的情况都适用。



查看完整回答
反对 回复 2019-07-28
  • 3 回答
  • 0 关注
  • 587 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信