问题:
尝试使用Mac计算机远程关闭同一局域网上的Ubuntu计算机,
问题是需要通过使用Mac Applescript来做到这个。
我已经创建了一个Applescript,在一天的特定时间网络唤醒Ubuntu:
tell application "Terminal"
set currentTab to do script
("ssh testbox@192.168.1.12;")
delay 6
--//password
do script ("~/bin/wakeonlan 00:11.22.33.44.55")
end tell
但如何关闭Ubuntu计算机?
答案1:
如果你打算通过apple script来尝试这样做,那么"猫"评论在点上:
在目标Ubuntu主机上:
创建专用用户
sudo adduser --force-badname SandMan
下一步,编辑/etc/sudoers以允许SandMan执行"sudo"。
sudo visudo
我将全部更改为vi,在末尾的includedir指令之前插入以下命令:
%SandMan ALL=NOPASSWD: /sbin/shutdown
保存文件
现在,你应该能够使用SandMan用户登录到主机,并执行sudo /sbin/shutdown --help
,而无需使用密码。
要允许直接从MAC终端窗口执行关闭,请尝试(从MAC终端):
ssh-keygen -t rsa -b 2048 -f ~/.ssh/SandMan_rsa
ssh-copy-id -i ~/.ssh/SandMan_rsa SandMan@12.34.56.78
ssh -i ~/.ssh/SandMan_rsa SandMan@12.34.56.78 /sbin/shutdown -h now
答案2:
我终于找到了,以下是有效的方法:
tell application "Terminal"
activate
do script ("ssh testbox@192.168.1.10")
delay 6
do script "password" in front window
delay 7
do script "sudo poweroft" in front window
delay 5
do script "password" in front window
end tell
相关文章