SSH 使用强制 PTY 复制文本

SSH 使用强制 PTY 复制文本

有人能解释一下为什么在强制分配 PTY 时 SSH 会将 stdin 复制回屏幕以及如何禁用它吗?

~% ssh -V
OpenSSH_5.5p1 Debian-6+squeeze2, OpenSSL 0.9.8o 01 Jun 2010
~% echo "This should only show up once." | ssh server.tld -tt '/bin/cat'
This should only show up once.
This should only show up once.

答案1

这实际上是一个非常简单的修复,我感觉忽略它很愚蠢。当您使用-ttSSH 时,SSH 会创建一个 pty,但会启用回显功能。为了防止文本被回显,请在命令前加上前缀,如下stty -echo所示:ssh -t server.tld "stty -echo && command"

答案2

我在这里进行大胆猜测,猜测这是您分配的 pty 的本地回显。STDIN 被视为终端的输入,然后将其回显给您。

我一下子想不出一个明智的方法来处理这个问题,我老实说,我倾向于说无论如何,尝试这样做都不是一个好主意

如果您回复评论,说明为什么您认为必须以这种方式实施,我将尝试帮助您找到带外的替代解决方案。但是,我认为这不会改变这个答案。

相关内容