【问题标题】:Trouble using ssh in a Mac Automator Service在 Mac Automator 服务中使用 ssh 时遇到问题
【发布时间】:2012-09-08 01:49:53
【问题描述】:

我正在尝试创建一个运行 Applescript 的 Automator 服务,该 Applescript 最终运行一个 bash 脚本以 ssh/scp 到服务器:

--

我有这个applescript,它可以保存我当前的photoshop 文档并调用一个bash 脚本来将图像scp 到服务器。然后 bash 脚本运行 ssh 以使用图像在所述服务器上执行一些操作。

我有一个 ssh-askpass 文件,它似乎在大多数情况下都能正常工作。我什至尝试重新安装它以确保我没有弄错权限,但它似乎状态良好。

如果我只是通过 Applescript Editor 运行 applescript,它可以正常工作并通过 ssh-askpass。

我想创建一个 Automator 操作(使用“服务”模板)来运行我的 applescript,因此我可以将其设置为键盘快捷键。

如果我只是在 Automator 中运行脚本,一切正常。不幸的是,当我尝试在 automator 外部使用该服务(即 App Menu > Services)时,似乎我的 Automator 操作根本没有尝试通过 ssh-askpass(我通过临时日志记录验证了这一点) - 一切正常那一点。

我仔细研究了一下,当我尝试从终端(而不是 Applescript 编辑器)运行 applescript 时,似乎出现了类似的问题

--

为了确保(在 Automator 中)applescript 使用 ssh-askpass,我需要做些不同的事情吗?

【问题讨论】:

  • 你是如何调用 ssh-askpass 的?
  • 你为什么不发布你的代码?

标签: ssh applescript automator


【解决方案1】:

我发现了问题。在我调用的 bash 脚本中,我导出的是 SSH_ASKPASS 路径,而不是显示:

导出 DISPLAY=":0"

显然 AppleScript 编辑器(以及 XCode 和 Automator)会为您执行导出操作,这就是它在这些情况下工作的原因。

【讨论】:

    【解决方案2】:

    如果您可以控制服务器上的帐户(例如 shell 帐户),我只需生成一个 SSH 密钥对并将其用于身份验证。这样一来,您就可以真正实现交易自动化,而完全不必处理ssh-askpass

    有关制作和部署 SSH 密钥的指南,请参阅 http://paulkeck.com/ssh/

    【讨论】:

    • 很遗憾我没有。另外我的服务器不支持 ssh 密钥,这实际上是我尝试的第一件事。
    猜你喜欢
    • 1970-01-01
    • 2017-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    相关资源
    最近更新 更多