小编Mol*_*ole的帖子

在 PowerShell 中向 SSH 会话发送命令并在 TextBox 中接收输出

我需要向多个设备发送命令列表。对于每个 IP,使用用户密码文本框中给定的凭据打开 SSH 连接,运行所有命令并将输出返回到输出文本框。

包含凭证、IP、命令和输出文本框的窗口的屏幕截图

通常我会使用

plink.exe -ssh admin@172.16.17.18 -pw PassW0rd "command"
Run Code Online (Sandbox Code Playgroud)

不幸的是,远程主机不允许我这样做:

Sent password
Access granted
Opening session as main channel
Opened main channel
Server refused to start a shell/command
FATAL ERROR: Server refused to start a shell/command
Run Code Online (Sandbox Code Playgroud)

但是,如果我在不传递命令的情况下进行连接:

Sent password
Access granted
Opening session as main channel
Opened main channel
Allocated pty (ospeed 38400bps, ispeed 38400bps)
Started a shell/command


Welcome to XXX
System_Name>#
Run Code Online (Sandbox Code Playgroud)

现在,我可以输入命令并执行它们。我尝试了 PoshSSH,它可以让我连接,但任何命令都会超时。

我将 IP 框和命令框的行分解为字符串数组并进行 for 循环。然后我尝试了几种方法,有成功Start-JobSystemDiagnostics.Process* …

ssh powershell plink batch-processing winforms

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

batch-processing ×1

plink ×1

powershell ×1

ssh ×1

winforms ×1