ssh sudo 管道命令

vei*_*lig 5 linux ssh bash shell

这个命令有效

ssh -t www.foo.com 'sudo ls -l'
Run Code Online (Sandbox Code Playgroud)

我立即被要求输入密码,输入后我会得到目录内容

如果我尝试通过管道传输此命令,它会失败 - 我从来没有被问到我的密码,所以我永远不会得到任何内容。

ssh -t www.foo.com 'sudo ls -l' | grep 'foo'
Run Code Online (Sandbox Code Playgroud)

这是一个基本的示例,我知道我可以在“ls”命令中通过管道/grep 输出。对于我的应用程序,我需要通过主机上的程序传输输出。

小智 0

ssh -t www.foo.com 'echo your_pass | sudo -S ls -l' | grep 'foo'
Run Code Online (Sandbox Code Playgroud)