ssh上的公证失败:不允许用户交互

时间:2019-04-18 06:26:34

标签: macos ssh keychain notarize

通过ssh连接并执行:

xcrun altool --notarize-app --primary-bundle-id com.example.app --username exam@ple.com --password @keychain:AC_PASSWORD --file app.dmg

导致:

2019-04-17 16:06:53.146 altool[4331:55219] *** Error: User interaction is not allowed.

密码已通过以下方式存储在临时钥匙串中:

security add-generic-password -a "exam@ple.com" -s "AC_PASSWORD" -p "myPassword" -A "temp.keychain"

协同设计可与临时钥匙串技巧结合使用:https://apple.stackexchange.com/questions/255872
在创建临时钥匙串的过程中,将使用上述命令添加AC_PASSWORD密码项。

在计算机上本地执行相同的命令有效。

2 个答案:

答案 0 :(得分:0)

我也在这个完全相同的问题上绊倒了。我认为可以在this answer中找到解决方案。

特别是:

  

第一次运行altool时,会出现一个安全确认对话框,询问您是否允许altool读取密码。输入钥匙串密码,然后单击“始终允许”。

您将需要以交互方式登录并像通过ssh一样运行altool命令。当确认弹出时,输入钥匙串密码,然后单击“始终允许”。将密码添加到钥匙串后,只需要做一次。

答案 1 :(得分:0)

我有一个类似的问题,使用SSH为证书运行security import时遇到相同的错误。我正在研究应该能够在无需用户交互的情况下在Ansible上运行的脚本,因此我想避免为每个脚本执行一次手动操作。

您不知道该工具试图提示的信息(密码,密码等),因为该错误是通用的,因此,通过VNC连接进行交互式会话,然后在终端中手动运行命令,您会发现可以看到提示并了解问题所在。 (对我来说,缺少证书密码短语。)

相关帖子:Xcode, Codesign Error from Jenkins / SSH - "User Interaction is not allowed"

相关问题