0

我正在尝试创建一个运行 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 时,似乎出现了类似的问题

--

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

4

2 回答 2

1

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

出口显示=“:0”

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

于 2012-09-12T22:28:44.633 回答
0

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

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

于 2012-09-08T02:25:54.523 回答