Вы уверены, хотите подключиться к порту 22?21 - это обычный FTP-порт.
Кроме того, вы должны попытаться выполнить этот скрипт вручную (запустите ftp
и введите их самостоятельно), чтобы увидеть, где происходит ошибка.Возможно, ваш брандмауэр блокирует возвратный трафик в активном режиме (проверьте, работает ли Filezilla в пассивном режиме).
Исходя из вашего комментария, вы определенно подключаетесь к защищенному FTP-серверу.Программа ftp.exe
, поставляемая с Windows, поддерживает только стандартный FTP.
Быстрый Google из "ftps client for windows"
открывает множество возможностей, одна из которых - безопасный FTP-клиент в Putty, инструмент, который мы используем (и весьмарекомендую) на работе.Другой - sftp
, который поставляется с CygWin.
Я не верю, что любой из них позволяет вам указать пароль, кроме интерактивного.Они справедливо полагают, что вы используете их в целях безопасности, а наличие пароля в текстовом виде в скрипте может привести к нарушению безопасности.
Лучший вариант - настроить общие ключи так, как этого хочет SSH.Это наиболее безопасный способ.
Однако, если вас больше интересует простота настройки, а не безопасность, вы можете просто использовать expect
, чтобы дождаться запроса пароля, а затем передать свой пароль программе SFTP., CygWin также поставляется с expect
(Putty не делает), поэтому я бы предложил использовать это.