【问题标题】:How to ssh using ActiveState's 'Expect' for Windows如何在 Windows 上使用 ActiveState 的“Expect”进行 ssh
【发布时间】:2013-06-26 20:40:14
【问题描述】:

我一直在绞尽脑汁试图找出一个教程,它展示了如何使用 ActiveState 的 Expect 实用程序通过 ssh 连接到另一台服务器。我找不到如何简单地通过 ssh 进入服务器并运行一些简单的东西(如“ls”)并断开连接。

演示文件夹不包含文档声称的 tkremotes.tcl 脚本,但我确实找到了它的副本here。看着这个,我不明白他们是如何建立 ssh 连接的,如果有的话。

【问题讨论】:

  • 使用 ssh 密钥,只需执行ssh user@remote ls

标签: windows ssh expect activestate


【解决方案1】:

使用KiTTY(PuTTY 的修改版)。它拥有您需要的一切:保存密码和用户、执行命令并自动退出)。

【讨论】:

  • 并没有真正认为这是一个答案,但遗憾的是,我相信这确实是在 Windows 机器上完成此任务的唯一方法。
【解决方案2】:

自 2018 年以来,如“Windows Command-Line: Introducing the Windows Pseudo Console (ConPTY)”所详述,Windows 10 确实有一个原生选项。

问题是:

其中一个弱点是 Windows 试图“提供帮助”,但却妨碍了替代和 3rd 方控制台开发人员、服务开发人员等。

在构建控制台或服务时,开发人员需要能够访问/提供通信管道,他们的终端/服务通过这些管道与命令行应用程序进行通信。
在 *NIX 世界中,这不是问题,因为 *NIX 提供了一个“伪终端”(PTY) 基础设施,可以轻松构建控制台或服务的通信管道,但 Windows 直到现在还没有!

但是,正如 creack/pty(一个使用 unix 伪终端的 Go 包)及其 issue 95 所示,这一新功能并不总是被集成。

刚刚从 ActiveTest 引用的那个问题(2020 年 11 月)conpty

在 Go 中支持 Windows 伪控制台。

作为跨平台终端自动化库的一部分开发expect,用于ActiveState state tool

因此,Windows 对expect 的支持可能终于出现了! (7年后)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-27
    • 2010-11-13
    • 1970-01-01
    • 2011-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多