Имя: Пароль:
1C
1С v8
Кто-нибудь соединялся с sftp по файлу ключа?
0 ЕлыПалыч
 
18.04.19
11:24
Надо из 8.1 соединиться с sftp, где авторизация не по паролю а по ключу. Пробовал с помощью WinSCP

sessionOptions = Новый COMОбъект("WinSCP.SessionOptions"); //Создаем объект SessionOptions
sessionOptions.HostName = "example.com";
sessionOptions.UserName = "user";
sessionOptions.Password = "mypassword";
sessionOptions.SshHostKeyFingerprint = "ssh-rsa 1024 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx";

Пароль у меня пустой, писал свой фингерпринт, соединиться пытается, но не проходит авторизация "Хост-ключ не соответствует сконфигурированному ключу"
Сам WinSCP тоже не могу настроить, у него в отличие о FileZillы нет типа входа "Файл с ключом". Куда воткнуть приватный ключ не понял. Сервер sftp не мой, авторизацию не поменять.
1 arsik
 
гуру
18.04.19
11:30
2 ЕлыПалыч
 
18.04.19
14:05
Соединился, файл копируется. Но остается на сервере с расширением .filepart.
Пишет такую ошибку
{Форма.Форма(55)}: Ошибка при вызове метода контекста (Check): Произошла исключительная ситуация (WinSCPnet): Передача завершена, но не удаётся переименовать временный файл 'PARFUM_20170213_20170219.zip.filepart' в 'PARFUM_20170213_20170219.zip'. Если проблема будет повторяться — отключите возобновление передачи.
Общая ошибка (сервер должен предоставить описание ошибки).
Код ошибки: 4
Сообщение ошибки от сервер: com.maverick.sshd.platform.PermissionDeniedException: Rename failed.

Обычные причины для ошибки с кодом 4:
- Смена имени файла на уже существующее.
- Создание каталога, который уже существует.
- Перемещение файла на сервере на другую файловую систему (HDD).
- Отправка файла в заполненную файловую систему (HDD).
- Превышение лимита выделенного дискового пространства.

Кто-нибудь сталкивался? Это, кстати, Nielsen, если кто знаком.
3 ЕлыПалыч
 
18.04.19
15:24
И еще, эта же ошибка если копировать из интерфейса WinSCP. А с помощью FileZillы копируется прекрасно.
4 Darych
 
18.04.19
15:27
.. Сказать нечего).. Палыч как всегда затейник.. хоть что-то постоянно))
5 ЕлыПалыч
 
18.04.19
15:28
Ну а зачем задавать вопросы, на которые я знаю ответ?
6 ЕлыПалыч
 
18.04.19
15:47
Короче надо задать параметр transferOptions.ResumeSupport.State="не возобновлять". Осталось найти как это сделать в 1С.
7 Nyoko
 
18.04.19
15:49
посмотри sessionOptions в отладке, может там еще что-то
8 ЕлыПалыч
 
18.04.19
15:59
transferOptions.ResumeSupport.State=2;
transferResult = session.PutFiles(ПутьВыгрузки, ПутьЗагрузкиНаФТП,false,transferOptions);