【发布时间】:2011-03-31 15:04:22
【问题描述】:
使用 Plink (PuTTY) 从 windows 机器到 solaris 服务器打开 SSH 连接:
Plink.exe -t <hostname> /bin/bash
然后将bash命令行写入Plink.exe的stdin,由远程/bin/bash进程解析并执行。
只要 bash 命令行不超过 256 个字符,它就可以工作。写入 256 个字符后,不再回显任何字符,而是为每个附加字符返回一个 BEEP(ASCII 代码 7)。
(使用/bin/bash而不是直接调用脚本可能看起来很奇怪,但这是一个更复杂场景的简化示例)
似乎只有在使用 -t 标志时才会出现 256 个字符的限制,但在 solaris 服务器上执行的命令需要 TTY。
Plink.exe 进程是从 windows 机器上的 JVM 启动的。
我尝试使用 PuTTY 会话配置加载 Plink.exe,同时关闭“本地行编辑”和“本地回显”,但行为相同。
是 SSH 客户端 (Plink.exe) 还是服务器端(Solaris、OpenSSH、Bash)限制为 256 个字符?
如何避免 256 个字符的限制?
【问题讨论】: