首页 文章

从plink.exe在windows上执行sudo命令[windows]

提问于
浏览
5

如果我执行plink命令

plink user@192.168.1.12 sudo nano / etc / hosts

在提示时输入密码,我收到了

sudo:没有tty存在且没有指定askpass程序抱歉,再试一次 . sudo:没有tty存在且没有指定askpass程序对不起,请再试一次 . sudo:没有tty存在且没有指定askpass程序对不起,请再试一次 . sudo:3次密码尝试不正确

如何从plink执行sudo命令?或者有其他选择吗?

4 回答

  • 2

    我知道这个问题已经过时但这可能有所帮助

    你可以执行plink(putty工具)

    plink -v -ssh -m "path/to/commands.txt" -l usertologin -pw PASSWORDSERVER

    commands.txt中:

    echo -e“PASSWORD \ n”| sudo -S cat / etc / passwd

    sudo -S是从stdin接收密码并且使用echo -e“password \ n”来传递密码(并且\ n就像按下intro -new line-)

    与执行passwd命令的方式相同:

    > echo -e "OLDPASSWORD\nNEWPASSWORD\nNEWPASSWORD" | passwd
    
  • 9

    你为什么在这里使用plink?通常,您使用plink在远程主机上调用非交互式脚本 . 如果你想做交互式的东西,(比如编辑文件),只需ssh到服务器(从你的shell,在Linux上使用'ssh'客户端,或在Windows上运行putty),然后编辑文件 .

    有关plink的更多信息,以及一些示例,请访问:http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter7.html

  • -1

    为何选择Plink?请改用SSH . 对于 sudo 命令,SSH也需要 -t 选项 . 来自ssh手册页:

    -t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based programs on a remote
             machine, which can be very useful, e.g. when implementing menu services.  Multiple -t options force tty
             allocation, even if ssh has no local tty.
    
  • 2

    我需要制作一些文件夹并设置烫发 . 这些块在PowerShell中为我自动化 . 那些建议只使用SSH的人希望已经发现目前不是正确的解决方案 . 减少手动过程应该是每个人的目标 .

    $null = iex "cmd /c $plinkpath -ssh -l $linuser -pw $linpass $computername `"echo $linpass | sudo -S mkdir $puppetfolder`"" *>&1
    
    $null = iex "cmd /c $plinkpath -ssh -l $linuser -pw $linpass $computername `"echo $linpass | sudo -S chmod o+wx $puppetfolder`"" *>&1
    

相关问题