使用Mac AppleScript ssh - 远程关闭Ubuntu

分享于 

2分钟阅读

ubuntu

  繁體

问题:

尝试使用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





mac  LAN  Ubuntu  Apple  SSH  关机