| 
    
            
         
         | 
    
  | 
Работа с 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 
 | 
         
        хотя у тебя winscp так что https://superuser.com/questions/1215002/known-hosts-file-for-winscp     
         | 
|||
| 
    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)     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |