通过 SSH 隧道执行远程命令

通过 SSH 隧道执行远程命令

我创建了从计算机 B 到计算机 A 的反向 SSH 隧道。在计算机 A 上,我有一个脚本 ( r1on.sh),其内容如下:

#!/bin/bash
echo 'r1on' > command.log
/usr/bin/ssh -p2222 pi@localhost 'sudo /home/pi/bin/relay1On.sh'

如果我从计算机A上的 bash 终端执行此操作,它会起作用 - 远程命令在计算机B上成功执行。

但是,我想r1on.sh从我的 Android 手机上调用 computerA,使用piConnect,这只是一个使用 SSH 连接到计算机 A 并执行命令的应用程序。当我在手机上执行此操作时,我知道它会执行某些操作,因为command.log已写入,但通过隧道的远程命令并未执行。这里出了什么问题?

使用输出重定向进行编辑:

/usr/bin/ssh -p2222 pi@localhost 'sudo /home/pi/bin/relay1On.sh > /tmp/Bout.log' > /tmp/Aout.log

在计算机 A 上,/tmp/Aout.log已创建,但是为空。在计算机 B 上,/tmp/Bout.log未创建。

相关内容