我创建了从计算机 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
未创建。