使用 PuTTY Plink 从批处理文件执行“su”

2024-02-02

我在尝试让我的批处理文件也为我提供 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(使用前将#替换为@)

使用 PuTTY Plink 从批处理文件执行“su” 的相关文章

  • 为什么 ssh-agent 需要 root 访问权限?

    我刚刚安装了 Archbang 并尝试克隆我的 Git 项目 这需要 SSH 密钥 过去 我在 Ubuntu 和 RedHat 机器上遵循 Github 指南取得了成功 但由于某种原因 它在我的新 Arch 安装上不起作用 我已使用以下命令
  • 以管理员身份从 cmd 批处理运行 PowerShell 脚本

    我有一个 PowerShell 设置 我想在执行策略可能受到限制并且需要管理员权限的计算机上执行 理想情况下 我可以将其包装在 cmd 批处理中 如下所示 powershell Command Start Process powershel
  • Windows 批处理文件中的 SQL 语句

    有没有办法让Windows批处理文件直接输入SQL语句而不需要调用脚本 我希望批处理文件登录SQL 然后直接输入语句 EDIT 我正在使用 Oracle v10g 对于单个命令 您可以使用以下技巧 echo select from dual
  • pexpect 和 ssh:如何在 su - root -c 之后格式化一串命令

    我正在尝试迭代服务器和密码列表来更改一组服务器上的 sshd 配置 以便我可以使用无密码 SSH 密钥通过 root 登录 运行命令 我可以在 bash 中轻松完成此操作 但我正在尝试学习 Python 并且 显然 希望放弃手动输入密码 这
  • 与 ssh2_connect() 断开连接

    我已经使用 ssh2 连接ssh2 connect到服务器 但我没有看到任何方法在联机帮助页中 http php net ssh2 connect我应该如何结束连接 我不太喜欢在断开连接之前等待脚本结束 我可以用吗fclose 这听起来不对
  • 无法验证主机真实性

    我第一次做git pull 在git中提示无法确定主机的真实性 与我生成的私钥相比 RSA密钥指纹不正确 我只是想知道如何更新它以便它读取正确的文件以及为什么它首先读取错误的指纹 我遇到了类似的问题 这意味着远程主机未知 不受信任 修复方法
  • 使用 Jenkins Git 插件中的 SSH 密钥在构建期间运行 Git 命令

    我们在 Jenkins 上的构建作业作为发布构建的一部分运行一些 git 命令 例如 git push 和 git pull 因此需要一种在构建期间从 shell 运行经过身份验证的 git 命令的方法 我们的詹金斯奴隶不持有任何凭证 因为
  • 远程 ssh 命令:第一个回显输出丢失

    我试图通过 ssh 1 liner 调用在远程机器上运行多个命令 方法是将它们指定为传递给 bash c 的分号分隔字符串 它适用于某些情况 但不适用于其他情况 看一下这个 Note the echo 1 output is lost ba
  • Windows批处理支持异常处理吗?

    Windows批处理编程支持异常处理吗 如果没有 是否有任何方法可以有效地模拟批处理文件中的异常处理 我希望能够在批处理脚本中的任何 CALL 级别的任何位置 抛出异常 并重复弹出 CALL 堆栈 直到找到活动的 TRY 块 然后 CATC
  • gitlab runner ssh私钥644文件权限错误

    运行 gitlab ci cd 管道时 ssh 给出 0644 badpermission 错误 变量作为文件类型存储在 gitlab 的 settings gt variable 部分中 gitlab ci yml 文件如下所示 stag
  • 如何使用 Windows 命令行环境查找和替换文件中的文本?

    我正在使用 Windows 命令行环境编写批处理文件脚本 并希望用另一个文件 例如 BAR 更改文件中某些文本 例如 FOO 的每次出现 最简单的方法是什么 有内置函数吗 这里的很多答案都帮助我指明了正确的方向 但是没有一个适合我 所以我发
  • 批处理 - 默认浏览器?

    有没有办法使用批处理文件查找我的计算机上的默认浏览器 只需使用 启动 www google com See here http social msdn microsoft com Forums is iewebdevelopment thr
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • Paramiko ValueError“p 的长度必须恰好为 1024、2048 或 3072 位”

    我正在尝试使用 Python 脚本连接 SFTP 由于 p 错误 我无法连接 import paramiko client paramiko SSHClient client load system host keys client con
  • 使用cmd批处理文件获取pdf中的页数

    我可以看到使用 C PHP 和其他语言获取 pdf 中的页数有很多问题 但我想知道使用批处理文件或 cmd 是否有一种简单的方法来获取页数 Using pdftk http www accesspdf com pdftk pdftk my
  • 已安装全局 NPM 包但未找到命令

    我已经全局安装了两个 npm 包 下载 https www npmjs com package download and 谜虚拟盒 https www npmjs com package enigmavirtualbox通过命令行 npm
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • 如何从 HTA 中启动批处理文件

    我有一个基本的 HTA 其中我尝试通过按钮启动批处理文件 但是当我尝试启动批处理文件时 它不会运行 当我按下按钮时 将启动命令提示符窗口 但不会运行脚本 这是代码的简单示例
  • 使用批处理解析 XML 文件以从某些特定节点获取值

    对于每个节点列表有Lists作为其父节点 我想获取 保存前三个节点的变量值 即entry output and token 我知道如何使用 vbscript 来做到这一点 但对我来说 批量解决方案更有趣 请问可以做吗
  • 如何成功地用 XML 中的批处理替换文本

    我尝试使用批处理在 XML 页面中替换字符串 但无法成功完全替换它 我有这个批处理代码 echo off setlocal EnableDelayedExpansion set search logLevel 3 set replace l

随机推荐