我正在尝试使用ssh重新启动Teltonika RTU950。
我可以通过ssh以root身份登录,然后重新启动路由器。但是,如果我试图通过ssh发送reboot命令,它就不能工作。
ssh root@routerip 'reboot'这将返回错误:
ash: reboot: not found我试过使用关机-r代替。也尝试使用绝对路径。总是给我同样的错误。
需要注意的是,错误是:ash:而不是bash:。
路由器在linux操作系统上运行。uname给:
Linux Teltonika-RUT950.com 3.18.44 #1知道是什么导致的吗?
发布于 2018-09-10 09:51:26
以root用户身份登录时,您的shell是什么?
如果确实是bash,那么您可能可以尝试:
ssh root@routerip /bin/bash -c "/sbin/reboot"
请注意,从安全的角度来看,在SSH上启用根登录是个坏主意。您应该检查供应商文档,以确定是否可以修复该问题。
发布于 2018-09-07 14:26:05
尝试输入重新启动或关闭命令的完整路径。例如,如果重新启动的完整路径为/sbin/ reboot,则运行
ssh root@routerip /sbin/reboot
发布于 2018-09-09 12:31:52
ssh -t root@设备重新启动
代表-t标志的man
原因是没有-t标志,您将得到一个非登录shell和一个不同的路径。此外,即使给出了完整的路径,reboot命令也可能检测到它非交互地运行。
https://unix.stackexchange.com/questions/467552
复制相似问题