捕获远程机器的击键事件并将其显示在本地机器上

时间:2017-05-11 13:36:47

标签: linux ssh

我有两个Linux让我们说A和B系统通过SSH连接。在机器A上我连接了QR扫描仪。我想扫描机器A上的QR码将其重定向到一个文件,然后在机器B上显示已解码的sting。为此我要做的是,我从运行脚本的本地B机器ssh进行重定向将stdin写入文件以捕获已解码的字符串。它只是在远程机器上调用一个脚本,它重定向stdin timeout 5 cat > qrCode.txt

真正的问题是在我的机器上本地调用脚本时A工作正常,但是当我尝试使用SSH从A机器上的B机器执行相同操作时,我在远程机器B上获取文件qrCode.txt但是它是空的。不包含任何内容。

那么如何将远程机器的stdin重定向到文件,然后从该文件中读取以在本地机器上显示已解码的字符串。 我猜终端丢失,因为Qr扫描器将所有内容清除到终端,但是当我执行ssh时,无法访问终端,因此它不会捕获按键。 反正有没有实现这个目标?

这是系统B上的ssh命令

#!/bin/bash

echo "Going to invoke remotes script"
sshpass -p <password> ssh user@192.168.2.10 -q -tt "/home/user/scanQr.sh"

使用-tt参数来避免警告pseudo terminal will not be allocated because stdin is not a terminal 这是远程机器A上的脚本

#!/bin/bash
cd /home/user
cat > code.txt

0 个答案:

没有答案