Имя: Пароль:
1C
 
Работа с WinSCP. Ошибка: does not match pattern
0 Radion
 
22.11.22
18:59
Работаем с sftp, выкладываем файлы из 1с для склада. Получили ошибку, после обновления сервиса (сменили формат ssh-rsa на ed25519) на стороне склада (выслали новые параметры ключа). При заполнении "SessionOptions",
конкретно параметра "SshHostKeyFingerprint", получаю ошибку:
Произошла исключительная ситуация (WinSCPnet): SSH host key fingerprint "Ключ" does not match pattern /((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521...
Кто сталкивался, в чем может быть проблема?
1 Garykom
 
гуру
22.11.22
19:49
(0) загляни в C:\Users\ИмяПользователя\.ssh
2 Radion
 
22.11.22
22:27
(1) не нашел файла с расширением ssh
3 Garykom
 
гуру
22.11.22
22:31
(2) это не файл а каталог
4 Garykom
 
гуру
22.11.22
22:32
5 Garykom
 
гуру
22.11.22
22:34
6 Radion
 
23.11.22
13:23
(0) не совсем понимаю, зачем смотреть папку ssh. Нам выслали два файла ключ и сертификат как понимаю, для подключения. Отправка файла как я понимаю происходит через подключение программы WINSCP. В момент подключения через com объект, и установки параметров объекта происходит ошибка. Человек, который высылал файлы ключей сказал, что ssh-rsa устарел обмен и работает как ed25519.
7 Radion
 
23.11.22
13:26
sessionOptions = Новый COMОбъект("WinSCP.SessionOptions");
sessionOptions.HostName            = ПутьFTP;
sessionOptions.UserName            = Пользователь;
sessionOptions.PortNumber        = PortNumber;
sessionOptions.SshHostKeyFingerprint= SshHostKeyFingerprint; ---------------------------------- Здесь происходит ошибка "does not match pattern"
8 Kassern
 
23.11.22
13:29
(7) Вы сам winscp открывали, пробовали зайти на ресурс?
9 Radion
 
23.11.22
13:38
(7) Если на диске C открывать WinSCP, то я подключаюсь к sftp. Вижу папки, и могу вручную скопировать туда файл.
10 Kassern
 
23.11.22
13:40
(9) Так вот, когда вы подключаетесь, там можно скопировать SshHostKeyFingerprint ключ. Его же и надо вставить в sessionOptions.SshHostKeyFingerprint=
11 Radion
 
23.11.22
13:40
В инете нашел, описание и решение подобной ошибки: https://winscp.net/eng/docs/message_key_fingerprint_does_not_match
Но я так и не понял, (ТАМ ПРИВЕДЕН ПРИМЕР) как:
Base64-encoded SHA-256 SSH host key fingerprint:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M=
Кодировать в:
Hex-encoded SHA-256 TLS host certificate fingerprint:
b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
12 Radion
 
23.11.22
13:42
В инете просмотрел кучу онлайн кодировщиков, но не получил результат кодирования строки:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M=  ,в итоговую строку: b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
13 Kassern
 
23.11.22
13:51
(11) В вашей же ссылке "Самый простой способ получить отпечатки пальцев в правильном формате — заставить WinSCP сгенерировать для вас шаблон кода "
14 Kassern
 
23.11.22
13:51
Я вам и говорю, взять уже сгенерированный правильный ключ и вставить в 1с
15 Radion
 
23.11.22
14:51
(14) да спасибо, полазил по WINSCP. В меню "Generate session URL/code", закладка ".Net assembly code" нашел примеры SessionOption. Скопировал от туда SshHostKeyFingerprint и о чудо заработало) PS Код кстати не шестнадцатеричном формате.
Всем Спасибо!!!
16 Garykom
 
гуру
23.11.22
14:53
(15) а лежать оно должно в (5)