【发布时间】:2023-12-14 09:36:01
【问题描述】:
此命令有效
ssh -t www.foo.com 'sudo ls -l'
我立即被要求输入密码,一旦输入我就会得到目录内容
如果我尝试通过管道传输此命令,它会失败 - 我从来没有被问到我的密码,所以我从来没有得到任何内容。
ssh -t www.foo.com 'sudo ls -l' | grep 'foo'
这是一个基本示例,我知道我可以在“ls”命令中通过管道/grep 输出。对于我的应用程序,我需要通过主机上的程序来管道输出。
【问题讨论】:
-
请澄清:在
ssh -t www.foo.com 'sudo ls -l'中,输入密码时是ssh还是sudo? IE。 (1) ssh 使用 pubkey auth 并且不需要密码,但远程 sudo 需要密码;或相反:(2)使用基于密码的ssh,但远程系统允许无密码sudo。 -
对不起,密码是 sudo 命令的。 SSH 全部由 pubkey 密钥处理。
-
谢谢。这缩小了问题的范围。有趣的问题。我正在努力寻找解决方案。