【问题标题】:SSH tectia, how to run batch commands?SSH tectia,如何运行批处理命令?
【发布时间】:2019-02-20 12:06:17
【问题描述】:

我在 windows 环境中有 tectia ssh 服务器。 当我使用sftpg3 -B cmd.txt username@host 时效果很好。唯一的问题是它不允许我远程执行文件,它只允许我移动文件。它从 cmd.txt 读取命令,但由于我无法执行任何操作,它会忽略这些命令。

好吧,当我做同样的事情但使用 sshg3 时,它根本不识别 -B 标志。

SSHG3 -B cmd.txt username@host

cmd.txt' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

我试过把 -B "cmd.txt"

我尝试将 cmd.txt 内容放在同一个脚本中,而不是将它们放在 cmd.txt 中并删除 -B,但它也不会以这种方式运行它们。

文档没有太多可取之处。它所说的只是使用 -B 进行批处理。

cmd.txt的内容:

D: cd Library cd Backup parseLibrary.cmd exit

尝试 sshg3 进入主机,导航到路径并在该主机上运行批处理文件。 有任何想法吗?

 

-B,--批处理模式 使用批处理模式。如果需要在终端上进行用户交互,则认证失败。

使用批处理模式要求您之前已将服务器主机密钥保存在客户端上,并为用户身份验证设置了非交互式方法(例如,基于主机的身份验证或不带密码的公钥身份验证)。

它确实使用公钥认证,终端上不需要用户交互。

在 sftpg3 的文档中注意到这一点

 

-B [ - |批处理文件]

-B - 选项允许从标准输入读取。当您想使用 sftpg3 启动进程并重定向标准输入管道时,此选项很有用。

通过将batch_file 的名称定义为属性,您可以在批处理模式下从给定文件执行SFTP 命令。该文件可以包含任何允许的 SFTP 命令。有关命令的说明,请参阅“命令”部分。

使用批处理模式要求您之前已将服务器主机密钥保存在客户端上,并为用户身份验证设置了非交互式方法(例如,基于主机的身份验证或不带密码的公钥身份验证)。

 

我猜批处理文件不同于批处理模式?

*我想通了。您必须为要执行的每个命令使用 -B 标志。

【问题讨论】:

    标签: windows ssh cmd


    【解决方案1】:

    我想通了。您必须为要执行的每个命令使用 -B 标志。 sshg3 user@host -B dir -B ipconfig -B etc.cmd

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-29
      • 1970-01-01
      • 1970-01-01
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多