我在尝试让我的批处理文件也为我提供 PuTTY/Plink 中的超级用户访问权限时遇到问题。我可以自动输入 IP 和密码,但我也想将其自动化到它也会给我的地方su
当我运行这个批处理文件时访问。到目前为止,它运行到了我需要手动输入的地步su
但我正在尝试自动化,所以我尝试了-m commands.txt
现在它崩溃了..在这里寻求任何帮助,谢谢。
这就是我到目前为止所拥有的
@echo off
color b
cls
echo What is the IP for the unit?:
set /p IP= :
echo What is the SSH Password for this unit?:
set /p Passw0rd= :
echo What is the Root Password for this unit?:
set /p ro0t= :
start plink.exe -ssh user@%IP% -pw %Passw0rd% -m commands.txt
exit/b
什么在commands.txt
:
su
The su
当然,它会提示您出了什么问题。但你看不到它,因为你开始plink
using start
在一个立即消失的新控制台窗口中。去除start
,至少在调试问题时是这样。
无论如何,你很可能会得到“标准必须是 tty”或类似的消息。这su
默认情况下需要终端来提示密码。 Plink 旨在自动化,而不是交互式使用。所以默认情况下它不会为会话分配伪终端。要强制使用终端,请添加-t switch https://the.earth.li/%7Esgtatham/putty/latest/htmldoc/Chapter3.html#using-cmdline-pty:
plink.exe -t -ssh user@%IP% -pw %Passw0rd% -m commands.txt
类似的问题:从 PuTTY 命令行执行时,“Sudo”失败并显示“sudo require a tty” https://stackoverflow.com/q/39624073/850848
下一步,您可能需要执行更多命令within su
。为此请参阅使用 Plink 执行 (sudo) 子命令 https://stackoverflow.com/q/54432962/850848.
尽管请注意,在一般自动化中su
, 特别su
使用密码通常是一个坏主意:允许使用 SSH 在 Linux 上以 root 身份自动执行命令 https://superuser.com/q/1481318/213663.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)