如果我的应用程序框架没有包含API,我将如何创建SFTP连接?

时间:2015-09-06 07:03:16

标签: macos bash ftp air sftp

我正在尝试使用AIR应用程序连接到SFTP服务器。它是一个AIR应用程序并不重要,除了我还没有找到任何库或AIR API方法。

我的第一个想法是找到另一种语言的库并在ActionScript中重写它。我宁愿不这样做,而我缺乏经验可能会带来安全问题。

我的第二个想法是从我的主应用程序调用本地进程或命令,例如sftpsshpasscurl,并将本地和远程上载位置传递给它并让它做的工作。这样做的缺点是,如果他们没有安装命令,他们必须安装一个单独的程序。

我的问题是:

  1. 默认情况下,这些SFTP命令在Mac和Windows上都可用吗?
  2. 我应该存储用户登录(我不想)或提示他们每次输入吗? SFTP /公钥是否消除了对此的需求?
  3. 我发现了两个相关的问题herehere,但有些问题在我脑海中。它们似乎也特定于* nux(它可能适用于Mac,但不适用于Windows)。

    我没有这方面的经验,所以如果这是一个好主意,我会欢迎有经验的人给予指导。欢迎使用概述类型的答案,因为我可以尝试解决详细信息。如果没有给出答案,一旦我弄明白了,我就会发一个答案。请不要关闭此问题(而是建议编辑)。

    仅供参考我使用AIR制作native process call

      

    扩展桌面配置文件中的AIR应用程序可以执行文件,   好像它是由命令行调用的。它可以与   本机进程的标准流。标准流包括   标准输入流(stdin),输出流(stdout),.   标准错误流(stderr)。

    我还可以创建并调用scpt,sh或bat文件。

    我的Mac上安装的命令:

    • curl_init(),curl_setopt()
    • ssh
    • sftp

    我的Mac上未安装命令:

    • sshpass

1 个答案:

答案 0 :(得分:1)

  

默认情况下,这些SFTP命令在Mac和Windows上都可用吗?

没有。默认情况下,Windows上没有sftpssh,除非您通过cygwin安装它或将它们捆绑在您的应用程序中(也是解决方案)。

  

我应该存储用户登录(我不想)或提示他们每次输入吗?

首选提示。

  

SFTP /公钥是否不需要它?

是的,但您必须存储私钥,这与存储密码几乎相同。