Я создал ключ с помощью PuttyGen, как показано ниже (и сохранил файлы закрытого и открытого ключей):
Затем я использовал этот ключ в настройке CoreFTP: Я остановил / перезапустил CoreFTP.
Я могу подключиться по Telnet к порту 22 с клиентской машины.
Я использовал закрытый ключ в Advanced: SSH / Authentication «Файл закрытого ключа» в WinSCP.
Когда я пытаюсь подключиться, WinSCP сообщает: «Неверный ключ хоста сервера». CoreFTP показывает только две строчки:
connected
disconnected()
Кроме того, я не могу создать какой-либо файл журнала из CoreFTP, хотя я включил все входы и дал ему имя файла.
В WinSCP я также провел Инструменты / Очистку и проверил «Ключи хоста Cahed» и «Временные папки». Я сделал новую установку клиента FileZilla и выдает такой же erorr «Недействительный ключ хоста сервера». Это означает, что проблема связана с сервером, а не с клиентом.
Читал это Почта, но я не могу найти в CoreFTP места для указания пары закрытый / открытый ключ узла. Однако там есть место для сертификата.
Я нашел это, что может быть источником проблемы, но не знаю, как это исправить: Он был создан самостоятельно с помощью SHA и 2048 бит.
Журналы клиентов:
WinSCP
. 2019-05-22 09:34:56.009 Looking up host "x.x.x.x" for SSH connection
. 2019-05-22 09:34:56.009 Connecting to x.x.x.x port 22
. 2019-05-22 09:34:56.013 We claim version: SSH-2.0-WinSCP_release_5.15.1
. 2019-05-22 09:34:56.026 Server version: SSH-2.0-CoreFTP-0.3.3
. 2019-05-22 09:34:56.026 Using SSH protocol version 2
. 2019-05-22 09:34:56.030 Doing Diffie-Hellman group exchange
. 2019-05-22 09:34:56.033 Doing Diffie-Hellman key exchange with hash SHA-256
. 2019-05-22 09:34:56.724 Server's host key is invalid
* 2019-05-22 09:34:56.770 (EFatal) Server's host key is invalid
SmartFTP
2019-05-22T14:28:47Z Resolving host name "x.x.x.x"
2019-05-22T14:28:47Z Connecting to x.x.x.x Port: 22
2019-05-22T14:28:47Z Connected to x.x.x.x.
2019-05-22T14:28:47Z SSH protocol version reply. Client Id: SSH-2.0-SmartFTP
2019-05-22T14:28:47Z SSH-2.0-CoreFTP-0.3.3
2019-05-22T14:28:47Z Starting SSH session. Remote Id: "SSH-2.0-CoreFTP-0.3.3"
2019-05-22T14:28:47Z Server Algorithm Suite
Key Exchange: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256
Server Host Key: ssh-rsa,rsa-sha2-512,rsa-sha2-256,ssh-dss,ecdsa-sha2-nistp521
Client to Server Encryption: aes128-ctr,aes192-ctr,aes256-ctr
Server to Client Encryption: aes128-ctr,aes192-ctr,aes256-ctr
Client to Server HMAC: hmac-sha2-256,hmac-sha2-512,hmac-sha2-384,hmac-sha1
Server to Client HMAC: hmac-sha2-256,hmac-sha2-512,hmac-sha2-384,hmac-sha1
Client to Server Compression: none,none
Server to Client Compression: none,none
2019-05-22T14:28:47Z Selected Algorithm Suite
Key Exchange: diffie-hellman-group-exchange-sha256
Server Host Key: ecdsa-sha2-nistp521
Client to Server Encryption: aes128-ctr
Server to Client Encryption: aes128-ctr
Client to Server HMAC: hmac-sha1
Server to Client HMAC: hmac-sha1
Client to Server Compression: none
Server to Client Compression: none
2019-05-22T14:28:47Z Client Algorithm Suite
Key Exchange: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp521,ecdh-sha2-nistp384,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,ext-info-c
Server Host Key: ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512,ssh-rsa,x509v3-ecdsa-sha2-nistp256,x509v3-ecdsa-sha2-nistp384,x509v3-ecdsa-sha2-nistp521,x509v3-rsa2048-sha256,x509v3-ssh-rsa
Client to Server Encryption: aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc
Server to Client Encryption: aes128-gcm@openssh.com,aes256-gcm@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc
Client to Server HMAC: hmac-sha1,hmac-sha2-256,hmac-sha2-512
Server to Client HMAC: hmac-sha1,hmac-sha2-256,hmac-sha2-512
Client to Server Compression: zlib@openssh.com,none
Server to Client Compression: zlib@openssh.com,none
2019-05-22T14:28:47Z Key Exchange Algorithm: diffie-hellman-group-exchange-sha256
2019-05-22T14:28:47Z Invalid host key.
2019-05-22T14:28:47Z Exception. Error=0x80072745
Это отказоустойчивый механизм, встроенный в SFTP и SSH, для предотвращения атак «злоумышленник в середине». Вы должны проверить и принять сертификат сервера до начала безопасной передачи.
Если вы используете утилиты командной строки WinSCP, вы можете использовать аргумент / hostkey, чтобы указать отпечаток сервера CoreFTP, чтобы он автоматически начал передачу без запроса.
Другой вариант - войти в систему как пользователь, который будет запускать сценарий, а затем установить соединение с помощью командной строки winscp. Он должен предложить вам принять ключ сервера и сохранить его в пользовательских настройках.
Если вы меняете серверы, вам придется не забыть повторно доверять или обновить настройки клиента / hostkey.