如何解决从批处理文件中使用 PuTTY Plink 执行“su”
我在尝试获取批处理文件以在 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
解决方法
当然,su
会提示您出了什么问题。但是您看不到它,因为您在一个立即消失的新控制台窗口中使用 plink
启动 start
。至少在调试问题时删除 start
。
无论如何,您很可能会收到“standard in must be a tty”或类似的消息。默认情况下,su
需要终端来输入密码提示。 Plink 用于自动化,而不是交互式使用。因此默认情况下它不会为会话分配伪终端。要强制使用终端,请添加 -t
switch:
plink.exe -t -ssh user@%IP% -pw %Passw0rd% -m commands.txt
一个类似的问题:"Sudo" fails with "sudo requires a tty" when executed from PuTTY command line
作为下一步,您可能希望在 su
内执行更多命令。参见Executing (sudo) subcommands using Plink。
但请注意,通常自动 su
,尤其是带有密码的 su
,通常是一个坏主意:Allowing automatic command execution as root on Linux using SSH。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。