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



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

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

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

我的问题是:

  1. 这些SFTP命令是否默认在Mac和Windows上都可用?
  2. 我应该存储用户登录(我不想)还是每次都提示他们输入?SFTP/公钥是否消除了这种需要?

我在这里和这里发现了两个相关的问题,但有些问题我不明白。它们似乎也专门针对*nux(它可能适用于Mac,但不适用于Windows)。

我在这方面没有经验,所以如果这是一个好主意,我欢迎那些有经验的人给予指导。概述型的答案是欢迎我,因为我可以尝试找出细节。如果没有给出答案,一旦我弄清楚了,我会发布一个答案。请不要关闭这个问题(而是建议编辑)。

仅供参考,我使用AIR进行本地进程调用。

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

我还可以创建和调用一个scpt、sh或bat文件。

Mac上安装的命令:

  • curl_init(), curl_setopt()
  • <
  • ssh/gh>
  • sftp

Mac上未安装的命令:

  • sshpass

这些SFTP命令是否默认在Mac和Windows上都可用?

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

我应该存储用户登录(我不想这样做)还是每次都提示他们输入?

首选提示符。

SFTP/公钥是否消除了这种需要?

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

最新更新