Ошибка аутентификации при доступе к ресурсу ftp access denied to remote resource

Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource при выполнении Получить() файлы

Описание ошибки:
Установлено FTP-соединение, но при выполнении метода Получить(<Источник>, <ИмяВыходногоФайла>) возникает ошибка: Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource

Найденные решения:

Зачастую на такую ошибку на форумах можно встреть ответ, что FTP-соединение 1C:Предприятие работает не стабильно, неправильно, не для всех серверов подходит.

Чаще всего такие ответы возникают от нежелания подробно разобраться в правильности написания кода. Если стандартными средствами ftp-соединение устанавливается без ошибок, значит и работать с ним можно скорее всего в полной мере. Учитываем важные факторы: чтобы были права на папки и файлы для пользователя при ftp-подключении, и чтобы на сервере (если используем регламентное задание) или на клиентском компьютере, откуда выполняем подключение , были права на установку ftp-соединения. Т.е. учитываем обстоятельсва от 1С никак не зависящие. При использовании Получить(<Источник>, <ИмяВыходногоФайла>) нужно внимательно отнестись к тому, что передается первым параметром <Источник> — это должна быть строка к файлу уже на сервере, т.е не должна, например передаваться строка типа «ftp://ftp_сервер/нужный_каталог/файл», а должна передаваться строка-путь к файлу уже на самом сервере, т.е. в продолжение примера: «/нужный_каталог/файл». Т.е. сразу «/» и имя файла или путь с именем файла в зависимости от обстоятельств. С параметром <ИмяВыходногоФайла> — все проще — строка-путь к файлу полностью, например «C:мой_каталогмой_файл».

Более конструктивных решений в интернете не нашел. Если Вам удалось решить эту проблему или есть полезная информация по этой проблеме, то Ваше рашение будет добавлено на сайт со ссылкой на Ваш сайт или с сохранением авторства: 

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

07-06-2014

Журавлев А.С.
(www.azhur-c.ru)

  

Елена Троянская

23.05.19 — 13:45

Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки

Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS

Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу:  ftp://имяресурса.ru:21 Access denied to remote resource

На стороне 1с ничего не менялось

Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied

Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666

Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.

Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?

  

Елена Троянская

1 — 23.05.19 — 13:45

1С:Предприятие 8.3 (8.3.5.1517)

  

mistеr

2 — 23.05.19 — 13:58

Сменить такой FTP или поднять свой.

  

Елена Троянская

3 — 23.05.19 — 14:03

(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.

Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.

Вопрос был про технические способы.

  

mistеr

4 — 23.05.19 — 14:07

> такие данные никто больше не предоставляет, а они критичны для работы организации

Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.

А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.

  

Елена Троянская

5 — 23.05.19 — 14:09

(4) по п.1 — нерешаемо средствами организации.)

по п.2 — спасибо.

  

mistеr

6 — 23.05.19 — 14:12

Да, еще lftp, но это вообще монстр-комбайн. Разобраться сложно, но может всё.

  

NorthWind

7 — 23.05.19 — 14:17

для синхронизации папок средствами ftp очень хорошая штука ncftp (https://ncftp.com/ncftp/). Просто настроить на каком-нибудь компе задачку, чтобы он раз в сколько-то время ncftpget запускал для синхронизации ftp-шной удаленной папки со своей. Файлы сверяет, лишний раз не качает, если уже были скачаны. Очень удобно.

  

Елена Троянская

8 — 23.05.19 — 14:27

(7) Спасибо

  

Nyoko

9 — 23.05.19 — 14:49

(0)Зачем вообще FTP если есть например https://syncthing.net/ синхронизация каталога, хоть на 20 компах )))

  

Garykom

10 — 23.05.19 — 15:07

(0) Нанять программиста уже пробовали?

  

Garykom

11 — 23.05.19 — 15:08

(10)+ Это не стеб, если можно скачать вручную с ftp помимо 1С то кто мешает воспользоваться кучей способов и автоматизировать это скачивание чем то внешним?

  

Елена Троянская

12 — 23.05.19 — 15:15

(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?

(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.

А костылетворцев у нас и своих хватает.

  

Garykom

13 — 23.05.19 — 15:24

(12) Ну вам уже написали про ncftp в (7) которые юзали еще по времена 1С 7.7

http://security-corp.org/administration/sys_admin/12576-1s-77-organizaciya-avtoobmena-cherez-ftp.html

Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.

Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков

Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.

  

Елена Троянская

14 — 23.05.19 — 15:30

(13) Прежде чем что-то писать, нужно понять, можно ли сделать как было без затрат xx человеко-часов. Работало же оно 5 лет и не жужжало.

  

Garykom

15 — 23.05.19 — 15:36

(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?

Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.

Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.

  

Garykom

16 — 23.05.19 — 15:37

(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.

И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.

Переписывайте правильно. Наймите программиста уже.

  

Елена Троянская

17 — 23.05.19 — 15:40

(15) Пробовали, соединение само работает, в корневой каталог фтп-пользователь логинится.

Но во вложенные каталоги уже нет.

Проблем нанять кого-то нет от слова совсем. Пусть придёт, блеснёт знанием как правильно и почему. Пока предлагаются костыли и балабольство. :)

  

NorthWind

18 — 23.05.19 — 15:45

как по мне — ftp-клиент в 1С очень так себе. Поэтому прямой способ как раз утащить к себе админскими средствами, а дальше с этой папкой делать че хошь уже у себя дома, а не на чужом сервере.

  

Garykom

19 — 23.05.19 — 15:47

(18) Нормальный там клиент, со своими тараканами и надо готовить уметь.

  

Garykom

20 — 23.05.19 — 15:47

(17) УстановитьТекущийКаталог(<ИмяКаталога>) не отрабатывает на правильные пути для вложенных?

  

NorthWind

21 — 23.05.19 — 15:48

(19) нормальный — это когда без тараканов. А ветки про косяки встроенного FTP от 1С тут появляются регулярно — то одно не может, то другое

  

Garykom

22 — 23.05.19 — 15:48

(20)+ Или может надо ЗащищенноеСоединениеOpenSSL ?

  

Garykom

23 — 23.05.19 — 15:48

(21) Оно еще в разных версиях платформы по разному ))

  

Елена Троянская

24 — 23.05.19 — 15:48

(18) Согласна. Но это прям на самый-самый крайний случай вариант.

Потому что + 1 промежуточный обмен данными всегда дополнительный гемор.

  

NorthWind

25 — 23.05.19 — 15:48

вот ncftp — это нормальный. Работает уже под 30 лет и голову не греет

  

Елена Троянская

26 — 23.05.19 — 15:49

(20) Для вложенных — нет. Для корневого — да.

  

Елена Троянская

27 — 23.05.19 — 15:51

(22) Если оно не нужно для корневого, то может быть нужно для вложенных?

В любом случае, пробовала, не завелось.

  

Garykom

28 — 23.05.19 — 16:12

(27) Код покажите, у меня есть подозрения что вы что то не то делаете банально

  

Елена Троянская

29 — 23.05.19 — 16:40

(28)

Подключение

——————————

попытка

        Соединение = новый FTPСоединение(     

        ФтпДанные.ФтпСервер,

        21,

        ФтпДанные.Логин,

        ФтпДанные.Пароль,

        Неопределено,

        истина,0,Неопределено,

        );        

    исключение

        Сообщить(ОписаниеОшибки());

        Возврат Неопределено;

    КонецПопытки;

———————————-

Что менялось методом пляски с бубном:

номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)

Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено

Пассивное соединение: пробовалось как истина-ложь, работает только истина

Защищенное соединение: пробовалось как неопределено или  ЗащищенноеСоединениеOpenSSL, работает только неопределено

Таймаут: пробовался 0 и 30, разницы нет

Этим же кодом пробовала подключаться к тестовому

ФтпСервер = «test.rebex.net»;

Логин = «demo»;

Пароль = «password»;

НО там только корень и 1 файл, вложенных нет, корневой файл читает

Что в работе: попросила админа рабочего фтп положить файл в корень, проверю чтение

    

        Попытка

            Соединение = ПодключитьФТП();

            Путь = ФтпДанные.ПутьКПапке0;//корневой каталог

            Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);

            сообщить («ок «+ Путь);

            Путь = ФтпДанные.ПутьКПапке1;//1 уровень

             Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);

            сообщить («ок «+ Путь);

            Путь = ФтпДанные.ПутьКПапке;//2 уровень

             Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);    

            сообщить («ок «+ Путь);

        исключение

            ЗаписьЖурналаРегистрации(«фтп»,,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),);

        КонецПопытки;

—-

Тут только на верхний уровень заходит и всё, в папки уже нет.

——

пути 1,2,3 уровень такого вида

———————-

ПутьКПапке0 = «/»;

ПутьКПапке1 = «/ftpNNN/»;

ПутьКПапке =  «/ftpNNN/csv/»;

  

mistеr

30 — 23.05.19 — 18:09

Можно посниффить сеть и получить лог FTP сессии. Может что-то прояснится.

  

Сияющий в темноте

31 — 23.05.19 — 18:43

А что возвращает разделитель пути?

может у них фтп на винде и наклон нужен в другую сторону?

  

Сияющий в темноте

32 — 23.05.19 — 18:44

там в коде фигня.

у фтп нет путькпапке1 и т.п.

срочно переписать!

  

Сияющий в темноте

33 — 23.05.19 — 18:46

и это,некоторын фтп не ели черточку в конце.

  

Елена Троянская

34 — 23.05.19 — 18:48

(30) Подкину идею админам, мож заморочатся. В этом вопросе — у меня лапки.

  

Garykom

35 — 23.05.19 — 18:49

Имхо у вас проблема не с УстановитьТекущийКаталог

А с НайтиФайлы

  

Елена Троянская

36 — 23.05.19 — 18:50

(31) На прошлой неделе всё работало. Навряд ли они ОС сменили за это время, во всяком случае, утверждают, что не меняли ничего.

(32) Всё норм в коде. Это структура.

(33) Неделю назад ел.

  

Елена Троянская

37 — 23.05.19 — 18:51

(35) И с тем и с тем одинаковые проблемы.

  

Garykom

38 — 23.05.19 — 18:53

А про регистрозависимость вы в курсе же на линуксе?

  

Вафель

39 — 23.05.19 — 18:53

  

Елена Троянская

40 — 23.05.19 — 19:04

(38) Вы — гений.

Знаю, но не додумалась, что дело может быть в этом. Поскольку админы поставщика клялись, что ничего не меняли. Ну так, с винды на линукс переехали, видимо втихаря.

Завелось. Спасибо.

Содержание

  1. FTP СоздатьКаталог
  2. FTPФайл Имя/ИмяБезРасширения обрезает имя после @
  3. FTPСоединение устанавливается, но не создаются каталоги и не загружаются файлы
  4. Проблемы чтения с ftp средствами 1С
  5. Работа с FTP в 1С 8.2 и 8.3
  6. Общая информация
  7. Практические задачи при работе с FTP
  8. Как подключиться к серверу FTP?

Добрый день!
1с УФ. Подключаюсь к FTP, соединение проходит, каталог устанавливается. но не создается новый каталог в нем. Ругается:
Ошибка при вызове метода контекста (СоздатьКаталог): Ошибка работы с Интернет: ftp://***.***.***.***:21 Quote command returned error
Код

Попытка
Соединение = Новый FTPСоединение(ФТПХост,ФТППорт, ФТППользователь, ФТППароль);
Сообщить(«Соединяемся с сервером FTP. «);
Исключение
Сообщить(«Не могу соединиться с FTP сервером»);
Возврат;
КонецПопытки;
Сообщить(«Соединение с «+ФТПХост+» установлено»);

НачальнаяПапкаВыгрузкиКомп = «D:1Сwebdata»;
Если ТекущаяПапка = Неопределено Тогда ТекущаяПапка = НачальнаяПапкаВыгрузкиКомп КонецЕсли;
МассивФайлов = НайтиФайлы(ТекущаяПапка, «*»);
ТекКаталог = «upload/»;

Для Каждого НайденныйФайл Из МассивФайлов Цикл
Файл = Новый Файл(НайденныйФайл.ПолноеИмя);
Если Файл.ЭтоКаталог() Тогда
//ЕстьТакаяПапка = Соединение.НайтиФайлы(НачальныйКаталогВыгрузкиFTP + СтрЗаменить(СтрЗаменить(НайденныйФайл.Путь, НачальнаяПапкаВыгрузкиКомп + «», «»), «», «/»),НайденныйФайл.Имя).Количество() > 0;
//Вот эта строка выше тоже не работает, я ее пока убрала временно.
ЕстьТакаяПапка = Ложь;
Если не ЕстьТакаяПапка Тогда
НомерПопытки = 1;
Успешно = Ложь;
Пока НомерПопытки Cool_Profi

Источник

FTPФайл Имя/ИмяБезРасширения обрезает имя после @

С удивлением для себя обнаружил что свойство Имя и ИмяБезРасширения не возвращает имя после собачки.

К примеру у меня на фтп есть папка e-mail@mail.ru
При этом свойство ПолноеИмя возвращает правильный путь
«/Папка/e-mail@mail.ru»

А свойство имя только ту часть что до @ т.е.

Свойство Расширение — возвращает пустую строк

проверено на 8.3.12.1469 и на 8.3.13.1549

Это баг и неправильное поведение программы или тайная фича? И какие еще сюрприщы с именем можно ожидать?

НайтиФайлы (FindFiles)
Синтаксис:

Тип: Строка.
Путь к каталогу, в котором производится поиск. При использовании этой схемы в адресах необходимо указывать прямые слеши ‘/’, а не обратные ‘’.
Допускается указание полного имени файла (путь + имя).

Зачем тогда делать
Новый FTPСоединение, если достаточно в найти файл указать логин и пароль?

Это что типа фича такая что можно сразу делать найти и параметры авторизации передать в строку?

Источник

FTPСоединение устанавливается, но не создаются каталоги и не загружаются файлы

Здравствуйте всем, кто это читает.
Первый раз тут спрашиваю.

Кто-нибудь сталкивался с ошибкой
Ошибка при вызове метода контекста (СоздатьКаталог)
FTPСоединение.СоздатьКаталог(ЭтаФорма.Каталог);
по причине:
Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Quote command returned error

Платформа 1С:Предприятие 8.3 (8.3.14.1779), БП 3.0.71.69 ПРОФ. Вариант базы клиент-серверный. Но это не суть (т.к. на этой же платформе и из-под пустой конфигурации на другом ПК работает). Текущий ПК — виртуалка Hyper-V, порт 21 и туда и оттуда открыт.

Само соединение устанавливается, без ошибок.
Файлы и каталоги читать могу.

Пробовал и пассивный и активный режимы, как только не пробовал. Иногда бывало Ошибка создания FTPсоединения: Ошибка при вызове конструктора (FTPСоединение): Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Requested SSL level failed
Каталоги пробовал задавать как «123», «/123», «123» и со слешами в конце. Пробовал не устанавливать ТекущийКаталог — безрезультатно, ошибка та же.
Вручную создать каталог можно, через ТоталКоммандор. Ну и с другого ПК, с той же платформы создаётся, если задать «/123».

Кто может направить на истинный путь?

А при попытке записи файла выдаёт

Ошибка при вызове метода контекста (Записать)
FTPСоединение.Записать(ИмяВременногоФайла, «test.txt»);
по причине:
Ошибка работы с Интернет: ftp://*****.ucoz.site:21 Upload failed (at start/before it took off)

Проверил и сверил при отладке адрес, порт, логин и пароль, с этим всё ок.
Тогда бы я даже не мог посмотреть список файлов.
У пользователя права есть, т.к. на другом ПК отрабатывает норм, и через тотал командер всё получается.
Если что-то не так заполнить, тогда уже Ошибка аутентификации при доступе к ресурсу Login denied соответственно сразу же при подключении.

(6) Просто тут ещё проблема в том, что это не мой сервер, где не работает создание каталога. В Windows административных прав нет. И настройки эти посмотреть нет возможности. В этом проблема :(.

Через cURL (первый блок — с обычного ПК, где ОК; второй блок — с машины, где из 1С так же не создаётся каталог на ФТП).
Может ли блокировать файервол на второй машине? (Там, кстати, Windows Server 2012 на Hyper-V, подключаюсь через RemoteApp)

Источник

Проблемы чтения с ftp средствами 1С

Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки
Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS
Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу: ftp://имяресурса.ru:21 Access denied to remote resource
На стороне 1с ничего не менялось
Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied
Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666
Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.

Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?

(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.
Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.

Вопрос был про технические способы.

> такие данные никто больше не предоставляет, а они критичны для работы организации

Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.

А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.

(4) по п.1 — нерешаемо средствами организации.)

(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?

(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.
А костылетворцев у нас и своих хватает.

Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.

Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков
Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.

(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?

Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.
Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.

(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.
И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.

Переписывайте правильно. Наймите программиста уже.

Что менялось методом пляски с бубном:
номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)
Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено
Пассивное соединение: пробовалось как истина-ложь, работает только истина

Тут только на верхний уровень заходит и всё, в папки уже нет.
——

Источник

Работа с FTP в 1С 8.2 и 8.3

В этой статье я попробую рассказать о том, какими средствами располагает технологическая платформа 1С для работы с протоколом FTP. Первая часть статьи — теоретическая, вторая — практические примеры. Отмечу, что при написании статьи использовалась технологическая платформа версии 8.3.12.1595.

Общая информация

Для работы с протоколом FTP у технологической платформы 1С имеется два главных объекта — FTPСоединение и FTPФайл, кроме них существует объект ЗащищенноеСоединениеOpenSSL — который используется для подключения к FTPS-серверам (не следует путать с SFTP), а также объект ИнтернетПрокси — который используется для соединения с FTP-сервером через прокси-сервер.

FTPСоединение ключевой объект для работы с FTP в 1С — именно через этот объект происходит и соединение с FTP/FTPS сервером и все дальнейшие действия. Все параметры для соединения с сервером указываются в конструкторе объекта.

FTPФайл служит для получения информации о каталогах и файлах на FTP-сервере — этот объект позволяет получить информацию по объекту на FTP-сервере: имя, путь расширение, размер и тд.

ИнтернетПрокси позволяет указать прокси-сервер используемый для соединения с FTP/FTPS сервером — параметры для подключения к прокси-серверу указываются методом Установить(). Использование свойств «Пароль» и «Пользователь» нежелательно, так как эти свойства являются устаревшими.

ЗащищенноеСоединениеOpenSSL создает защищенное соединение OpenSSL — предоставляет возможность организовать защищенное соединение с FTP-сервером, также имеется возможность конкретный сертификат клиента и/или сертификат удостоверяющего центра.

Практические задачи при работе с FTP

В качестве практических примеров рассмотрим все операции которые позволяет выполнить объект FTPСоединение.

Как подключиться к серверу FTP?

Параметры для подключения указываются в конструкторе, сами параметры достаточно стандартны. Отдельно скажу про два параметра:

  • Таймаут — позволяет указать таймаут в секундах для установки соединения и выполнения операций;
  • Пассивное соединение — определяет тип FTP-соединения: «Ложь» — активный режим, «Истина» — пассивный, значение по умолчанию — «Ложь». Разница заключается в том, кто устанавливает соединение для передачи данных — при активном режиме это делает сервер, при пассивном клиент. Это бывает важно при наличии брандмауэра, так как он часто запрещает входящие соединения на случайные порты.

Источник

   Елена Троянская

23.05.19 — 13:45

Проблема следующая. Долгое время в базе 1с работало чтение файлов с ftp (дописана обработка) из вложенной папки

Доступ по логину и паролю, соединение незащищенное, не поддерживает FTP через TLS

Внезапно обработка перестала работать по причине: Ошибка аутентификации при доступе к ресурсу:  ftp://имяресурса.ru:21 Access denied to remote resource

На стороне 1с ничего не менялось

Пробовала — по фтп сейчас могу получить доступ только в корневую папку FTP , дальше — Access denied

Через filezilla или IE захожу в нужные подчиненные папки, права на папки 777, на файлы 666

Админы ftp логов доступа к нему не ведут и не планируют, и заставить их это делать не получится, да и вообще, молчат как партизаны.

Вопрос. Что могло случиться и что технически можно сделать для обхода проблемы?

   Елена Троянская

1 — 23.05.19 — 13:45

1С:Предприятие 8.3 (8.3.5.1517)

   mistеr

2 — 23.05.19 — 13:58

Сменить такой FTP или поднять свой.

   Елена Троянская

3 — 23.05.19 — 14:03

(2) Невозможно, ftp у контрагента, и такие данные никто больше не предоставляет, а они критичны для работы организации.

Временно через браузер всё руками копируется на наш сервер и потом загружается оттуда, но это временно и нужно нормальное техническое решение.

Вопрос был про технические способы.

   mistеr

4 — 23.05.19 — 14:07

> такие данные никто больше не предоставляет, а они критичны для работы организации

Вот это настоящая проблема, не техническая, и решать ее нужно соответствующе.

А так, если через WinSCP работает, то его можно заскриптовать для перекладывания на свой сервер. А также curl, wget, aria2 и другие.

   Елена Троянская

5 — 23.05.19 — 14:09

(4) по п.1 — нерешаемо средствами организации.)

по п.2 — спасибо.

   mistеr

6 — 23.05.19 — 14:12

Да, еще lftp, но это вообще монстр-комбайн. Разобраться сложно, но может всё.

   NorthWind

7 — 23.05.19 — 14:17

для синхронизации папок средствами ftp очень хорошая штука ncftp (https://ncftp.com/ncftp/). Просто настроить на каком-нибудь компе задачку, чтобы он раз в сколько-то время ncftpget запускал для синхронизации ftp-шной удаленной папки со своей. Файлы сверяет, лишний раз не качает, если уже были скачаны. Очень удобно.

   Елена Троянская

8 — 23.05.19 — 14:27

(7) Спасибо

   Nyoko

9 — 23.05.19 — 14:49

(0)Зачем вообще FTP если есть например https://syncthing.net/ синхронизация каталога, хоть на 20 компах )))

   Garykom

10 — 23.05.19 — 15:07

(0) Нанять программиста уже пробовали?

   Garykom

11 — 23.05.19 — 15:08

(10)+ Это не стеб, если можно скачать вручную с ftp помимо 1С то кто мешает воспользоваться кучей способов и автоматизировать это скачивание чем то внешним?

   Елена Троянская

12 — 23.05.19 — 15:15

(10) Пока в теме не обозначился ни один специалист, знакомый с данной проблемой именно в том виде, как она обозначена в СТ. Кого нанимать?

(11) Под костыли в виде дополнительных скачиваний на наш сервер уже всё сделано до данной темы. Хотелось бы послушать именно знающих тонкости работы ftp-1с. Но увы. Их нет.

А костылетворцев у нас и своих хватает.

   Garykom

13 — 23.05.19 — 15:24

(12) Ну вам уже написали про ncftp в (7) которые юзали еще по времена 1С 7.7

http://security-corp.org/administration/sys_admin/12576-1s-77-organizaciya-avtoobmena-cherez-ftp.html

Но я не вижу проблем использовать что угодно, начиная от ВК до написания своей софтины или веб-сервиса который сделает что угодно.

Например есть прекрасная «Ъ» от Использование классов .Net в 1С для новичков

Или можно взять NodeJS или Golang или банальный C# (или прочее что знает программист которого вы наняли) и набросать простую штуку с которой уже любая 1С сможет работать штатно, через http соединение или еще как.

   Елена Троянская

14 — 23.05.19 — 15:30

(13) Прежде чем что-то писать, нужно понять, можно ли сделать как было без затрат xx человеко-часов. Работало же оно 5 лет и не жужжало.

   Garykom

15 — 23.05.19 — 15:36

(14) А вы пробовали штатную работу с ftp из вашей 1С слегка подправить попробовать и узнать что выйдет?

Ну там пассивный режим работы или таймаут? А может нечто не то с авторизацией например регистр логина или еще что.

Может надо текущий каталог менять правильно перед тем как нечто на ftp делать.

   Garykom

16 — 23.05.19 — 15:37

(15)+ Короче имхается у вас была слегка кривая работа с ftp сервером из 1С.

И когда там у контрагентов сервер перевели на нормальный, то ваша 1С перестала с ним уметь работать.

Переписывайте правильно. Наймите программиста уже.

   Елена Троянская

17 — 23.05.19 — 15:40

(15) Пробовали, соединение само работает, в корневой каталог фтп-пользователь логинится.

Но во вложенные каталоги уже нет.

Проблем нанять кого-то нет от слова совсем. Пусть придёт, блеснёт знанием как правильно и почему. Пока предлагаются костыли и балабольство. :)

   NorthWind

18 — 23.05.19 — 15:45

как по мне — ftp-клиент в 1С очень так себе. Поэтому прямой способ как раз утащить к себе админскими средствами, а дальше с этой папкой делать че хошь уже у себя дома, а не на чужом сервере.

   Garykom

19 — 23.05.19 — 15:47

(18) Нормальный там клиент, со своими тараканами и надо готовить уметь.

   Garykom

20 — 23.05.19 — 15:47

(17) УстановитьТекущийКаталог(<ИмяКаталога>) не отрабатывает на правильные пути для вложенных?

   NorthWind

21 — 23.05.19 — 15:48

(19) нормальный — это когда без тараканов. А ветки про косяки встроенного FTP от 1С тут появляются регулярно — то одно не может, то другое

   Garykom

22 — 23.05.19 — 15:48

(20)+ Или может надо ЗащищенноеСоединениеOpenSSL ?

   Garykom

23 — 23.05.19 — 15:48

(21) Оно еще в разных версиях платформы по разному ))

   Елена Троянская

24 — 23.05.19 — 15:48

(18) Согласна. Но это прям на самый-самый крайний случай вариант.

Потому что + 1 промежуточный обмен данными всегда дополнительный гемор.

   NorthWind

25 — 23.05.19 — 15:48

вот ncftp — это нормальный. Работает уже под 30 лет и голову не греет

   Елена Троянская

26 — 23.05.19 — 15:49

(20) Для вложенных — нет. Для корневого — да.

   Елена Троянская

27 — 23.05.19 — 15:51

(22) Если оно не нужно для корневого, то может быть нужно для вложенных?

В любом случае, пробовала, не завелось.

   Garykom

28 — 23.05.19 — 16:12

(27) Код покажите, у меня есть подозрения что вы что то не то делаете банально

   Елена Троянская

29 — 23.05.19 — 16:40

(28)

Подключение

——————————

попытка

        Соединение = новый FTPСоединение(     

        ФтпДанные.ФтпСервер,

        21,

        ФтпДанные.Логин,

        ФтпДанные.Пароль,

        Неопределено,

        истина,0,Неопределено,

        );        

    исключение

        Сообщить(ОписаниеОшибки());

        Возврат Неопределено;

    КонецПопытки;

———————————-

Что менялось методом пляски с бубном:

номер порта указывался явно или не указывался (в первоначальном варианте, отработавшим 5 лет, не был указан, но работает и так и так)

Прокси — на моём домашнем его точно нет, менялось только пустой параметр/ неопределено

Пассивное соединение: пробовалось как истина-ложь, работает только истина

Защищенное соединение: пробовалось как неопределено или  ЗащищенноеСоединениеOpenSSL, работает только неопределено

Таймаут: пробовался 0 и 30, разницы нет

Этим же кодом пробовала подключаться к тестовому

ФтпСервер = «test.rebex.net»;

Логин = «demo»;

Пароль = «password»;

НО там только корень и 1 файл, вложенных нет, корневой файл читает

Что в работе: попросила админа рабочего фтп положить файл в корень, проверю чтение

Чтение данных

———————-

    
        Попытка

            Соединение = ПодключитьФТП();

            Путь = ФтпДанные.ПутьКПапке0;//корневой каталог

            Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);

            сообщить («ок «+ Путь);

            Путь = ФтпДанные.ПутьКПапке1;//1 уровень

             Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);

            сообщить («ок «+ Путь);

            Путь = ФтпДанные.ПутьКПапке;//2 уровень

             Соединение.УстановитьТекущийКаталог(Путь);

            //файлы = Соединение.НайтиФайлы(Путь,Маска);    

            сообщить («ок «+ Путь);

        исключение

            ЗаписьЖурналаРегистрации(«фтп»,,,,ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()),);

        КонецПопытки;

—-

Тут только на верхний уровень заходит и всё, в папки уже нет.

——

пути 1,2,3 уровень такого вида

———————-

ПутьКПапке0 = «/»;

ПутьКПапке1 = «/ftpNNN/»;

ПутьКПапке =  «/ftpNNN/csv/»;

   mistеr

30 — 23.05.19 — 18:09

Можно посниффить сеть и получить лог FTP сессии. Может что-то прояснится.

   Сияющий в темноте

31 — 23.05.19 — 18:43

А что возвращает разделитель пути?

может у них фтп на винде и наклон нужен в другую сторону?

   Сияющий в темноте

32 — 23.05.19 — 18:44

там в коде фигня.

у фтп нет путькпапке1 и т.п.

срочно переписать!

   Сияющий в темноте

33 — 23.05.19 — 18:46

и это,некоторын фтп не ели черточку в конце.

   Елена Троянская

34 — 23.05.19 — 18:48

(30) Подкину идею админам, мож заморочатся. В этом вопросе — у меня лапки.

   Garykom

35 — 23.05.19 — 18:49

Имхо у вас проблема не с УстановитьТекущийКаталог

А с НайтиФайлы

   Елена Троянская

36 — 23.05.19 — 18:50

(31) На прошлой неделе всё работало. Навряд ли они ОС сменили за это время, во всяком случае, утверждают, что не меняли ничего.

(32) Всё норм в коде. Это структура.

(33) Неделю назад ел.

   Елена Троянская

37 — 23.05.19 — 18:51

(35) И с тем и с тем одинаковые проблемы.

   Garykom

38 — 23.05.19 — 18:53

А про регистрозависимость вы в курсе же на линуксе?

   Вафель

39 — 23.05.19 — 18:53

  

Елена Троянская

40 — 23.05.19 — 19:04

(38) Вы — гений.

Знаю, но не додумалась, что дело может быть в этом. Поскольку админы поставщика клялись, что ничего не меняли. Ну так, с винды на линукс переехали, видимо втихаря.

Завелось. Спасибо.

Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource при выполнении Получить() файлы

Описание ошибки:
Установлено FTP-соединение, но при выполнении метода Получить(<Источник>, <ИмяВыходногоФайла>) возникает ошибка: Ошибка аутентификации при доступе к ресурсу: ftp://xxx:xxx Access denied to remote resource

Найденные решения:

Зачастую на такую ошибку на форумах можно встреть ответ, что FTP-соединение 1C:Предприятие работает не стабильно, неправильно, не для всех серверов подходит.

Чаще всего такие ответы возникают от нежелания подробно разобраться в правильности написания кода. Если стандартными средствами ftp-соединение устанавливается без ошибок, значит и работать с ним можно скорее всего в полной мере. Учитываем важные факторы: чтобы были права на папки и файлы для пользователя при ftp-подключении, и чтобы на сервере (если используем регламентное задание) или на клиентском компьютере, откуда выполняем подключение , были права на установку ftp-соединения. Т.е. учитываем обстоятельсва от 1С никак не зависящие. При использовании Получить(<Источник>, <ИмяВыходногоФайла>) нужно внимательно отнестись к тому, что передается первым параметром <Источник> — это должна быть строка к файлу уже на сервере, т.е не должна, например передаваться строка типа «ftp://ftp_сервер/нужный_каталог/файл», а должна передаваться строка-путь к файлу уже на самом сервере, т.е. в продолжение примера: «/нужный_каталог/файл». Т.е. сразу «/» и имя файла или путь с именем файла в зависимости от обстоятельств. С параметром <ИмяВыходногоФайла> — все проще — строка-путь к файлу полностью, например «C:мой_каталогмой_файл».

Более конструктивных решений в интернете не нашел. Если Вам удалось решить эту проблему или есть полезная информация по этой проблеме, то Ваше рашение будет добавлено на сайт со ссылкой на Ваш сайт или с сохранением авторства: 

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

07-06-2014

Журавлев А.С.
(www.azhur-c.ru)

  • Главная
  •  — 
  • Форум
  •  — 
  • ТЕХПОДДЕРЖКА
  •  — 
  • БОНЛИОН — Бонусная система для 1С
  •  — 
  • Обмен по FTP
 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

Помогите, пожалуйста. Не можем настроить выгрузку файлов обмена по ftp. Соединение проверяем — все нормально. Каталог на сервере где сайт прописан. Но файл выгрузки в папку на сайт не сохраняется.

В проводнике Windows или Total Commander — все нормально ровно с теми же настройками. Все соединяется и прописанный в поле Каталог путь отрабатывает.

 

покажите скрин настроек в 1С

 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

#3


0
 

28.06.2021 09:19:57

Цитата
Александр Носов написал:
покажите скрин настроек в 1С

https://yadi.sk/i/nFJ51v5kDjfrrQ

 

вы похоже указываете лишние папки на каталог FTP
скорее всего нужно оставить то что идет после www

поэкспериментируйте разными вариантами
также возможно нужно указывать слэш перед каталогом FTP

Пример как должно быть
/new.site.ru/public_html/upload/

 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

#5


0
 

28.06.2021 10:07:29

Цитата
Александр Носов написал:
вы похоже указываете лишние папки на каталог FTP
скорее всего нужно оставить то что идет после www

поэкспериментируйте разными вариантами
также возможно нужно указывать слэш перед каталогом FTP

Пример как должно быть
/new.site.ru/public_html/upload/

Мы эксперементировали уже по-всякому. Не работает. Без слэшей был последний вариант потому что в прилагаемой инструкции на скриншоте именно так прописано.

 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

#6


0
 

28.06.2021 10:08:23

Цитата
vep написал:
вы похоже указываете лишние папки на каталог FTPскорее всего нужно оставить то что идет после www

Попробую. Но если смотреть в ftp-клиенте, то путь к папке именно такой как на скриншоте.

 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

С урезанным адресом выдает ошибку:

Ошибка при соединении с FTP : /upload/1c_exchange_bonuses/ ! {ОбщийМодуль.APPLIX_RU_СМ_FTP.Модуль(76)}: Ошибка при вызове метода контекста (НайтиФайлы): Ошибка аутентификации при доступе к ресурсу:  

ftp://magellanbooks.ru:21

Access denied to remote resource

 

пришлите доступ к вашему ftp на

support@applix.ru

в письме укажиет ссылку на эту тему
протестим

 

vep

Пользователь

Сообщений: 7
Регистрация: 15.03.2017

#9


0
 

30.06.2021 12:37:46

Я уже сам проверил. Следующий код с использованием вышеуказанных параметров отлично работает:

Цитата
   Соединение = Новый FTPСоединение(Объект.FTPСервер, Объект.Порт, Объект.FTPПользователь, Объект.FTPПароль,,Объект.FTPПассивноеСоединение);
   Соединение.УстановитьТекущийКаталог(«/repository/www/upload/1c_exchange_bonuses»);
   Соединение.Записать(Объект.КаталогОбменаБонусами, «info.txt»);

Так что проблема точно в вашем закрытом модуле. К тому же попутно нашел ещё один баг. В коде команды «проверить соединение» в нижеприведенной строке отсутствует параметр «ПассивноеСоединение» из-за чего соединение проверяется минуты две. Возможно и в закрытом модуле похожие огрехи имеются. Проверьте.

Цитата
Иначе
      Соединение = Новый FTPСоединение(Объект.FTPСервер, Порт, Объект.FTPПользователь, Объект.FTPПароль);
КонецЕсли;

Изменено: vep30.06.2021 12:38:57

 

Александр Носов

Администратор

Сообщений: 359
Регистрация: 18.10.2019

#10


0
 

22.07.2021 15:00:54

Работа в FTP переведена на служебный модуль.
Сейчас обмен работает без сбоев.

Обновление уже можно заказать, отправьте запрос на наш email  

ПОСЛЕДНИЕ СООБЩЕНИЯ

Сейчас на форуме (гостей: 43)

Всего зарегистрированных пользователей: 2227

Приняло участие в обсуждении: 367

Всего тем: 824

Создал внешнюю обработку. В ней подключаюсь к ftp. Из одной базы. Пользователь под полными правами. Подключается корректно. Во второй базе вызываю тот же самый код. Пишет: Ошибка аутентификации при доступе к ресурсу:   Access denied to remote resource Может у меня что-то не так с правами базы? Как это настроить? База sql и там и там

Попробуй подключиться в обратном порядке..

А может, настройки самого фтп?

В общем — выслал письмо админам. Всем спасибо, наверное, это уже не в моей юриздикции

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

  • Ошибка аутентификации при доступе к ресурсу 1с при обновлении
  • Ошибка аутентификации после сброса настроек
  • Ошибка аутентификации попробуйте снова social club при смене почты
  • Ошибка аутентификации пользователя что это такое
  • Ошибка аутентификации пользователя фгис фри