【问题标题】:Passing multiple commands to Cisco switch via PuTTY [duplicate]通过 PuTTY 向 Cisco 交换机传递多个命令 [重复]
【发布时间】:2020-12-10 22:07:55
【问题描述】:

我正在尝试在 Windows 上使用 PuTTY 在 Cisco 交换机上运行一组显示命令。

除了putty.exe(没有Plink,expect,任何东西!)之外,我无法使用任何东西。

我在提升的 PowerShell 窗口中运行以下命令:

c:\temp\switches\putty.exe -load "cisco" -ssh IPADDRES -l username -pw password -m C:\temp\ciscoCMDs.txt

*“Cisco”配置只是设置它,以便将控制台窗口记录到文本文件中。

ciscoCMDs.txt的内容如下:

show version
show vlan

当我在提升的 PowerShell 窗口中运行命令时,PuTTY 启动并显示:

=~=~=~=~=~=~=~=~=~=~=~= PuTTY日志IPADDRESS 11:58:44 =~=~=~=~=~=~=~=~ =~=~=~= 使用用户名“用户名”。
行有无效的自动命令“show version show vlan”

如果我在第一行的末尾放置一个!...

show version !
show vlan

它运行show version 命令,但不运行show vlan 命令。

如何让第二个命令运行? (我打算在那里放置更多命令,但如果第二个命令可以运行,则第三个...第 n 个...没有理由不会运行。)

PuTTY 配置文件中是否有我需要为 End of File 或 End of Line 设置的配置?

我需要在行尾添加一个特殊字符以使其知道第二个命令即将到来吗?

为了清楚起见:

  1. 我只能使用 PuTTY 和 SSH 访问 Cisco 交换机。
  2. 除了putty.exe、SSH 连接和包含命令列表的commands.txt 文件之外,我无法使用任何其他文件或程序。
  3. 我想从一个 .txt 文件运行多个 show 命令,并使用单个 PuTTY 配置文件和单个命令记录命令的输出 通过 PowerShell 运行。

【问题讨论】:

    标签: windows powershell ssh putty cisco


    【解决方案1】:

    这实际上是 Cisco 的一个已知限制,它不支持 SSH“exec”通道命令中的多个命令。

    PuTTY/Plink 手册引用部分3.8.3.6 -m: read a remote command or script from a file

    对于某些服务器(尤其是 Unix 系统),您甚至可以在该文件中放置多行并依次执行多个命令或整个 shell 脚本;但这可以说是一种滥用,并且不能期望在所有服务器上都有效。 众所周知,不能与某些“嵌入式”服务器(例如 Cisco 路由器)一起使用。


    使用带有输入重定向的 Plink 可能会解决问题。


    如果你真的被 PuTTY 卡住了,那么作为一个非常糟糕的黑客,你可以 send key strokes with your PowerShell scriptputty.exe 子进程。

    【讨论】:

    • 哦,快!我真的很高兴能尝试一下。我可以在下周更新以确定它是否有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 2016-03-06
    • 2015-11-21
    • 2016-04-27
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多