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

通常我会使用
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-Job也SystemDiagnostics.Process* …