【问题标题】:Unable to spawn ssh using expect in ActiveTcl on Windows PC无法在 Windows PC 上的 ActiveTcl 中使用期望生成 ssh
【发布时间】:2020-09-20 04:45:38
【问题描述】:

标题类似于unable to spawn ssh using TCL expect in ActiveTCL,但我想我遇到了不同的问题......

我刚刚在我的 Windows 10 PC 上安装了 32 位版本的 ActiveTcl 8.5。安装完之后,我在 tcl 命令行输入以下内容就成功安装了 Expect:

teacup install Expect

在学习如何使用 Expect 登录远程机器的教程时,我的代码在尝试使用“spawn”命令时失败了。我已将我的代码减少到名为 simple_ssh.tcl 的脚本文件中的以下最少行

#!/bin/sh
# \
exec tclsh "$0"  ${1+"$@"}
package require Expect
spawn ssh eric@192.168.1.191
expect "eric@192.168.1.191's password:"

当我使用命令 tclsh simple_ssh.tcl 运行它时,我收到错误:

不支持该请求。 在执行“spawn ssh eric@192.168.1.191”时 (文件“simple_ssh.tcl”第5行)子进程异常退出

如果我只是在 tcl 提示符下键入 ssh eric@192.168.1.191,远程机器会以预期的提示符进行响应:

eric@192.168.1.191's password: 

ssh 会话按预期运行。这样就可以看到ssh进程了。在我看来,'spawn' 可能没有正确集成到 Expect 中。我还能做错什么?我需要安装另一个包作为 ActiveTcl 的一部分才能使其工作吗?

【问题讨论】:

  • 更直接的shebang是#!/usr/bin/env tclsh

标签: ssh expect spawn activetcl


【解决方案1】:

尝试: 产生“ssh eric@192.168.1.191”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-21
    • 2013-02-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 1970-01-01
    • 2014-10-14
    相关资源
    最近更新 更多