Как бы я создал соединение SFTP, если моя прикладная среда не содержит API для него?

Я пытаюсь подключиться к SFTP-серверу с помощью приложения AIR. Неважно, что это приложение AIR, за исключением того, что я не нашел ни библиотек, ни методов AIR API для него.

Моя первая мысль - найти библиотеку на другом языке и переписать ее в ActionScript. Я бы предпочел не делать этого, и мой недостаток опыта может привести к проблемам безопасности.

Моя вторая мысль - вызвать собственный процесс или команду, такую ​​как sftp или же sshpass или же curl из моего основного приложения и передать локальные и удаленные места загрузки в него, и пусть он сделает свою работу. Недостатком этого является то, что если у них не установлена ​​команда, они должны установить отдельную программу.

Мои вопросы:

  1. Доступны ли эти команды SFTP по умолчанию на Mac и Windows?
  2. Должен ли я сохранять логин пользователей (я не хочу) или предлагать им вводить его каждый раз? SFTP / открытый ключ устраняет необходимость в этом?

Я нашел два связанных вопроса здесь и здесь, но некоторые из них у меня над головой. Похоже, они также характерны для *nux (который может работать и для Mac, но не для Windows).

У меня нет опыта в этой области, поэтому я бы хотел, чтобы те, у кого есть опыт, давали советы, если это хорошая идея или нет. Ответы типа обзора приветствуются для меня, так как я могу попытаться проработать детали. Если ответа не дано, как только я это выясню, я отправлю ответ. Пожалуйста, не закрывайте этот вопрос (скорее предлагайте правки).

К вашему сведению, я использую AIR для вызова нативного процесса.

Приложение AIR в расширенном профиле рабочего стола может выполнить файл, как если бы он был вызван из командной строки. Он может общаться со стандартными потоками нативного процесса. Стандартные потоки включают стандартный входной поток (stdin), выходной поток (stdout), стандартный поток ошибок (stderr).

Я также могу создать и вызвать файл scpt, sh или bat.

Команды, установленные на моем Mac:

  • curl_init (), curl_setopt ()
  • SSH
  • SFTP

Команды не установлены на моем Mac:

  • sshpass

1 ответ

Доступны ли эти команды SFTP по умолчанию на Mac и Windows?

Нет нет sftp ни ssh в Windows по умолчанию, если вы не установите его через Cygwin или не объедините их в своем приложении (также решение).

Должен ли я сохранять логин пользователей (я не хочу) или предлагать им вводить его каждый раз?

Подскажите предпочтительнее.

SFTP / открытый ключ устраняет необходимость в этом?

Да, но вам придется хранить закрытый ключ, который почти такой же, как и пароль.

Другие вопросы по тегам