我正在尝试从我的远程linux服务器向我的本地Mac发送终端命令。这是目前生成的 本地通知
(using terminal command:
"""osascript -e 'display notification "Message" with title "Title" subtitle "Subtitle" sound name "chimp"')"""
我的应用程序在服务器上运行确定的更改,但我想,如果我对此进行了排序, 我可能会将其用于其他用途/发送/交换其他命令。 目前,我首先在服务器ssh。我不完全理解这个过程,因为它是在我的预先配置 系统。有人可以解释一下如何实现这一目标吗?
PS:能够将我的/本地/接收器IP保持为变量并使用该变量将是有帮助的,因为我可能必须使用多个系统或者在某个时候更改我自己的ip。此外,实施密码保护,只有我的应用程序/管理员可以更改/使用此渠道将有所帮助。
答案 0 :(得分:0)
您可以在远程主机上创建一个脚本:
osascript
命令但是您需要对其进行配置,以便在脚本通过SSH连接到本地计算机时不必输入密码。为此,您可以将远程主机(可能是root用户)上的用户的公共SSH密钥复制到本地计算机上用户的~/.ssh/authorized_keys
文件中。
在远程主机上:
# copy the public key for the user on the remote host to the local host
cat ~/.ssh/id_rsa.pub | ssh <user>@<your-local-machine> 'cat >> ~/.ssh/authorized_keys'
然后编写脚本并将其保存在远程主机上
#!/bin/bash
ssh <user>@<your-local-machine> osascript -e 'display notification "Message" with title "Title" subtitle "Subtitle" sound name "chimp"'
远程主机上的程序可以在适当的时候执行该脚本。
如果您需要SSH到新计算机,则必须再次复制SSH密钥并更改脚本中的<your-local-machine>
地址。