如果我执行plink命令
plink user@192.168.1.12 sudo nano / etc / hosts
在提示时输入密码,我收到了
sudo:没有tty存在且没有指定askpass程序抱歉,再试一次 . sudo:没有tty存在且没有指定askpass程序对不起,请再试一次 . sudo:没有tty存在且没有指定askpass程序对不起,请再试一次 . sudo:3次密码尝试不正确
如何从plink执行sudo命令?或者有其他选择吗?
我知道这个问题已经过时但这可能有所帮助
你可以执行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
你为什么在这里使用plink?通常,您使用plink在远程主机上调用非交互式脚本 . 如果你想做交互式的东西,(比如编辑文件),只需ssh到服务器(从你的shell,在Linux上使用'ssh'客户端,或在Windows上运行putty),然后编辑文件 .
有关plink的更多信息,以及一些示例,请访问:http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter7.html
为何选择Plink?请改用SSH . 对于 sudo 命令,SSH也需要 -t 选项 . 来自ssh手册页:
sudo
-t
-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.
我需要制作一些文件夹并设置烫发 . 这些块在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
4 回答
我知道这个问题已经过时但这可能有所帮助
你可以执行plink(putty工具)
plink -v -ssh -m "path/to/commands.txt" -l usertologin -pw PASSWORDSERVER
commands.txt中:
sudo -S是从stdin接收密码并且使用echo -e“password \ n”来传递密码(并且\ n就像按下intro -new line-)
与执行passwd命令的方式相同:
你为什么在这里使用plink?通常,您使用plink在远程主机上调用非交互式脚本 . 如果你想做交互式的东西,(比如编辑文件),只需ssh到服务器(从你的shell,在Linux上使用'ssh'客户端,或在Windows上运行putty),然后编辑文件 .
有关plink的更多信息,以及一些示例,请访问:http://the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter7.html
为何选择Plink?请改用SSH . 对于
sudo
命令,SSH也需要-t
选项 . 来自ssh手册页:我需要制作一些文件夹并设置烫发 . 这些块在PowerShell中为我自动化 . 那些建议只使用SSH的人希望已经发现目前不是正确的解决方案 . 减少手动过程应该是每个人的目标 .