Мне нужно автоматизировать некоторые передачи, но, похоже, я не могу найти приличный FTP-клиент командной строки с поддержкой FTPS для платформы Windows? Winscp поддерживает SFTP, но хорошего SFTP-сервера для Windows тоже нет, только FreeSSHDService, который, похоже, больше не поддерживается активно... поэтому я хочу использовать FileZilla Server, который поддерживает FTPS...
решение1
С тех пор, как я написал вопрос, WinSCP был обновлен для поддержки FTPS!
решение2
Вы могли бы использоватьCygwinи выберите пакет openssh lftp
.
(Он имеет зависимость от openssl
, поэтому я предполагаю, что он был скомпилирован с использованием configure --with-openssl
)
решение3
Библиотека cURLhttp://curl.haxx.se/В списке его функций указана поддержка FTPS, поэтому, по-видимому, поставляемый с ним клиент можно использовать для выполнения FTPS-передач из командной строки.
По поводу «отсутствия хороших SFTP-серверов для Windows», cygwin (http://www.cygwin.com/) включает в себя полный пакет OpenSSH, который поставляется с
- SSH-сервер, поддерживающий передачу данных по протоколу SFTP (или SCP)
- клиент командной строки sftp/scp (называемый scp), который можно вызывать из скриптов Windows (пакетных файлов и скриптов WSH через метод shell.run) — вам просто нужно быть внимательным и правильно указывать пути.
Я использовал сервер SSH, предоставленный cygwin, для обеспечения поддержки SFTP/SCP на нескольких системах Windows. Это может быть лучше использовать вместо FTPS хотя бы потому, что FTPS не так широко поддерживается, как вы обнаружили.
решение4
Если вы собираетесь автоматизировать передачи, я бы настоятельно рекомендовал использовать маршрут SFTP, используя либо WinSCP (бесплатно), либо "CoreFTP client ($20)", поскольку они будут поддерживать "запланированные" передачи. Клиенты FTPS "обычно" не поддерживают запланированные передачи, хотя некоторые клиенты с графическим интерфейсом поддерживают "очередь".