Ошибка подключения к серверу Linux с помощью командного файла.Возможность связаться с Filezilla - PullRequest
0 голосов
/ 28 сентября 2010

Я пытаюсь подключиться к удаленному серверу через FTP в моем приложении VB 6.0.

Я попытался подключиться к удаленному серверу с помощью Inet, но он дал статус неизвестная ошибка (код: 120089).Поэтому я пытаюсь сделать это с помощью командного файла.Я создал командный файл, как показано ниже: -

open 192.168.1.3 22  
root  
!@#%RedHat%)(*  
cd "/opt/test"  
put "C:\envars.exe" "envars.exe"  
bye  

(имя пользователя - «root» &
пароль -! @ #% RedHat%) (*
)

Iпопытался запустить пакетный файл из командной строки следующим образом: - C:> ftp -s: F: \ testScript.txt

Теперь я получаю следующую ошибку: - "ftp: connect: unknown error number"

Ранее я получал сообщение «подключен», затем «подключение закрыто удаленным хостом».

Однако я могу подключиться к этому серверу с помощью Filezilla.

Пожалуйста, дайте мне знать, если вы можете выяснить, в чем проблема.

Заранее спасибо
Суджит

Ответы [ 3 ]

1 голос
/ 28 сентября 2010

Вы уверены, хотите подключиться к порту 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 не делает), поэтому я бы предложил использовать это.

0 голосов
/ 28 сентября 2010

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

0 голосов
/ 28 сентября 2010

Вы должны подключиться к порту 21. Порт 22 предназначен для подключений SSH, что объясняет, почему Filezilla может подключаться, поскольку поддерживает FTPS (FTP через SSH).

...