SSH 然后在同一行运行命令与在不同行运行命令有什么不同? Bash 脚本

SSH 然后在同一行运行命令与在不同行运行命令有什么不同? Bash 脚本

在 bash 脚本中,我尝试使用 ssh 和 osascript 在另一台 Mac 上显示通知。我只能在命令行上执行此操作,方法是先通过 ssh 进入另一台 Mac,然后运行

osascript -e 'display notification "You have received a message!"

然后退出 ssh。我需要能够在 bash 脚本中执行此操作。运行脚本后是否必须输入密码并不重要。谢谢!

答案1

我建议您将您的 SSH 身份复制到远程机器,这样它就不会提示您输入密码。

  1. ssh-keygen

  2. 输入远程机器的密码两次

  3. 执行ssh-copy-id -i /Users/user/.ssh/id_rsa用户@远程机器

  4. 输入远程机器的密码

  5. 然后返回本地机器并执行此操作ssh user@remotemachine 'some-remote-command'

它应该执行一些远程命令在远程机器上无需输入密码。这可以在脚本中使用。

相关内容