通过 ssh 重新启动

通过 ssh 重新启动

我正在尝试使用 ssh 重新启动 Teltonika RTU950。

我可以通过 ssh 以 root 身份登录,然后重新启动路由器即可。但是,如果我尝试通过 ssh 发送重新启动命令,它不起作用。

ssh root@routerip 'reboot'

这会返回错误:

ash: reboot: not found

我尝试过使用 shutdown -r 代替。也尝试过使用绝对路径。总是给我同样的错误。

需要注意的是,错误说:ash:而不是bash:

路由器在Linux操作系统上运行。 uname 给出:

Linux Teltonika-RUT950.com 3.18.44 #1

知道是什么原因造成的吗?

答案1

尝试输入重新启动或关闭命令的完整路径。例如,如果重新启动的完整路径是 /sbin/reboot,则运行

ssh root@routerip /sbin/reboot

答案2


当您以 root 身份登录时,您的 shell 是什么?
如果确实是 bash,那么你可以尝试:
ssh root@routerip /bin/bash -c "/sbin/reboot"

请注意,从安全角度来看,通过 SSH 启用 root 登录并不是一个好主意。您应该检查供应商文档以查看是否可以解决该问题。

答案3

ssh -t root@设备重新启动

man ssh 用于 -t 标志

原因是如果没有 -t 标志,您将获得一个非登录 shell 和一个不同的路径。除此之外,即使提供完整路径,重新启动命令也可能检测到它以非交互方式运行。

相关内容