我想在关闭自己的计算机时也关闭网络中的另一台计算机。
为此,我创建了一个脚本,可以通过该脚本登录该机器ssh
并将其关闭。(已设置 SSH 密钥,因此无需密码。)
#! /bin/sh
ssh user@remote sudo halt
并将其放入/etc/init.d
。
然后我创建了两个指向该文件的符号链接rc0.d
并rc6.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