使用 sudo 在远程设备上挂载外部磁盘

Inc*_*ion 6 sudo usb mount remote 14.04

我目前正在开发两台设备,一台正在测试另一台。它们基于 beaglebone black,并在 Ubuntu 14.04 下运行。我的问题是我必须在测试设备上但从测试设备上检测并安装 USB 外部存储设备。

我尝试了一些命令来避免输入密码,例如

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true mount /dev/sda1/ /media"
Run Code Online (Sandbox Code Playgroud)

但是当我执行这一行时,远程设备上没有任何反应。我在这个命令行上尝试了几个不同的版本,但我现在迷路了。我不知道如何做我想做的事。

有关信息,我在 node-red 下工作,并执行这三个命令行来检测和挂载设备。aet@192.168.100.200 是被测设备的IP。它通过以太网与测试交换机连接在一台公共交换机上。

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true mount /dev/sda1/ /media"

sshpass -p <password> ssh aet@192.168.100.200 StrictHostKeyChecking=no "echo gra64nola | sudo -S true umount /media"

sshpass -p <password> ssh aet@192.168.100.200 -o StrictHostKeyChecking=no "echo gra64nola |sudo -S find /media/FINDME.txt"
Run Code Online (Sandbox Code Playgroud)

第三个用于查找文件以检查设备的 USB 端口是否正常工作。我不想让任何人来做我的全部工作,但是你能知道如何安装这个外部磁盘吗?

谢谢你的帮助。

mur*_*uru 5

sudo -S true mount /dev/sda1/ /media
Run Code Online (Sandbox Code Playgroud)

true通常忽略传递给它的任何参数,因此该mount ...部分被完全忽略。如果要运行mount命令,请不要使用true. 做就是了:

sudo -S mount /dev/sda1/ /media
Run Code Online (Sandbox Code Playgroud)

还要看: