Ubuntu 12.04 和 SSH:关机时自动关闭另一台计算机

Ubuntu 12.04 和 SSH:关机时自动关闭另一台计算机

我想在关闭自己的计算机时也关闭网络中的另一台计算机。

为此,我创建了一个脚本,可以通过该脚本登录该机器ssh并将其关闭。(已设置 SSH 密钥,因此无需密码。)

#! /bin/sh
ssh user@remote sudo halt

并将其放入/etc/init.d

然后我创建了两个指向该文件的符号链接rc0.drc6.d调用K10haltremote.sh

如果我手动调用该脚本,它会按预期工作,但是关闭或重新启动我的机器时对远程机器没有任何影响。

我唯一能想到的就是关机太快,没有时间进行 ssh 连接,但这只是猜测。

有任何想法吗?

答案1

ssh user@remote sudo halt & sleep 10

答案2

解决了。​​我没有考虑到的是,脚本是以 root 身份执行的,而不是以我的用户身份执行的。因此,在运行 ssh 时,需要密码,因为我只为我的用户设置了密钥。我使用的解决方法是强制 ssh 使用我的用户密钥:

ssh -i /home/user/.ssh/id_rsa user@remote sudo halt

相关内容