【问题标题】:Run ssh-askpass in Cocoa app在 Cocoa 应用程序中运行 ssh-askpass
【发布时间】:2015-12-13 20:34:48
【问题描述】:

我正在尝试在 Cocoa 应用程序中运行 SSHFS 命令。我已经把 SSHFS 命令放在了NSTask,但是在执行命令时出现了一些错误:

RSA host key for IP address 'xyz.com' not in list of known hosts.

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory

Permission denied, please try again.

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory

Permission denied, please try again.

ssh_askpass: exec(/usr/libexec/ssh-askpass): No such file or directory

Permission denied (publickey,password).

remote host has disconnected

mount_osxfusefs: failed to mount /Volumes/Drive_Test@/dev/osxfuse4: Socket is not connected

在这种情况下,我认为我的应用程序无法找到 ssh_askpass。我的问题是如何运行这个文件?任何建议将不胜感激。提前致谢。

【问题讨论】:

  • 首先要确保文件存在。如果没有,请安装并重试。它应该是openssh-clients 包的一部分
  • @Jakuje Er……这是 Mac OS,不是 Linux。
  • @duskwuff:是的,它是 OSX。有什么建议吗?谢谢

标签: objective-c macos cocoa ssh ssh-keys


【解决方案1】:

ssh-askpass 是 X11 应用程序,与 MacOS 不直接兼容。您可以在同一路径中安装自定义ssh-askpass,尽管它有点小技巧。 Here 是一种实现,但我不能保证它的完整性或安全性,或与当前 MacOS 的兼容性。 (另请参阅同一作者的博客https://jcs.org/notaweblog/2011/04/19/making_openssh_on_mac_os_x_more_secure,并尝试了其他可能的方法。)

更好、更现代的解决方案是让 MacOS 钥匙串为您处理事情。参见例如SVN+SSH, not having to do ssh-add every time? (Mac OS)(显然不仅仅适用于 SVN)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多