【问题标题】:Execute a Linux application remotelly from PowerShell从 PowerShell 远程执行 Linux 应用程序
【发布时间】:2015-04-27 12:48:14
【问题描述】:

我正在尝试通过 PowerShell 在 Linux 机器上执行应用程序控制台命令 (cslogin)。我使用来自SSH.NET 的SSH 模块来访问Linux 服务器。以下是我的脚本快照,我可以建立 ssh 会话。

Import-Module SSH-Sessions
$user     = "user"
$password = "pass"
$hostname = "192.168.1.X"
C:\plink.exe -ssh -l $username -pw $password $hostname "cslogin"  

但是一旦执行cslogin 命令,脚本就会挂起并显示以下消息:

SEC054 设备连接到或断开了伪 tty,但没有 身份验证

此时,如果我按下回车键,我就能得到应用程序提示,这正是我想要的。我试图了解为什么我的脚本会挂起以及如何解决这个问题。

【问题讨论】:

标签: linux powershell ssh plink ssh.net


【解决方案1】:

您只导入了SSH-Sessions 模块,而没有实际使用它。然后运行 ​​PLink,它与 SSH.NET 完全无关。


纯 SSH.NET 解决方案是这样的:

Import-Module SSH-Sessions
New-SshSession -ComputerName "192.168.1.X" -Username "user" -Password "pass"
Invoke-SshCommand -InvokeOnAll "cslogin"

除此之外,您的 PLink 解决方案也是如此。由于它不起作用,上面的 SSH.NET 解决方案可能也不起作用。

您的实际问题是应用程序 (cslogin) 需要交互式终端 (TTY)。 PLink 默认不分配一个。而且我相信 SSH.NET 也不会。使用 PLink,您可以使用 -t 开关强制 TTY:

$user     = "user"
$password = "pass"
$hostname = "192.168.1.X"
plink.exe -ssh -l $username -pw $password $hostname -t "cslogin"  

Using the command-line connection tool Plink

【讨论】:

  • 很抱歉,我试图让它与 SSH 模块和 plink 一起工作,但忘记删除 Import-Module SSH-Sessions 代码。
  • 也尝试了 plink -t 参数并得到了这个 ->bash: cslogin: command not found
  • 如果用SSH终端客户端(如PuTTY)登录,可以执行cslogin吗?
  • 是的,我可以,无论我使用 putty、plink 还是 SSH 模块,我仍然会收到“SEC054 A device has connected to or disconnected from, a pseudo tty without authentication”消息。我可以通过按回车键来传递消息
  • 我在想一个可能的解决方案,如果我可以在输出中搜索消息然后中断到下一行代码。
【解决方案2】:

据我所知,您实际上并没有在这里使用 ssh.net。当然,您导入了模块,但不是使用 New-SSHSessionInvoke-SSHCommand cmdlet,而是运行 plink 来连接并运行 cslogin。我承认我没有听说过那个 Linux 命令,但请记住 plink 期望通过 SSH 连接、执行命令并断开连接 - 所以你不会得到交互式提示。

您可以让 plink 在 Linux 服务器上运行脚本,或者使用 -m 开关 get plink 来读取命令列表来驱动文件。

或者,您可以设置一个 putty 保存会话,然后运行 ​​plink 以获取交互式会话,但是当它尝试解释 plink 的输出时,您可能会在 powershell 命令窗口中遇到一些奇怪的情况。

更多信息见this link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 2021-05-10
    • 1970-01-01
    相关资源
    最近更新 更多