Key exchange failed. Requested service is not implemented.

0 votes
asked Apr 2 by BF79 (120 points)

I assume this may be due to an outdated version of Rebex and updates to the remote SSH server I'm connecting to, but want to clarify because I seem to see matching exchange algorithms in the SSH_MSG_KEXINIT message.

2019-04-02 06:19:28.632 Opening log file.
2019-04-02 06:19:28.642 INFO Sftp(2)[5] Info: Connecting to {masked}:22 using Sftp 3.0.4700.0.
2019-04-02 06:19:28.642 INFO Sftp(2)[5] Info: Using proxy HTTP CONNECT {masked}:8080.
2019-04-02 06:19:28.981 DEBUG Sftp(2)[5] SSH: Server is 'SSH-2.0-1.36_sshlib GlobalSCAPE'.
2019-04-02 06:19:28.988 INFO Sftp(2)[5] SSH: Negotiation started.
2019-04-02 06:26:50.111 VERBOSE Sftp(2)[6] SSH: Sending packet SSH_MSG_KEXINIT (823 bytes).
 0000 |14-A1-4B-E9-4B-BE-1C-87 13-78-7E-61-00-C3-EE-A1| ..K.K....x~a....
 0010 |9A-00-00-00-7E-64-69-66 66-69-65-2D-68-65-6C-6C| ....~diffie-hell
 0020 |6D-61-6E-2D-67-72-6F-75 70-2D-65-78-63-68-61-6E| man-group-exchan
 0030 |67-65-2D-73-68-61-32-35 36-2C-64-69-66-66-69-65| ge-sha256,diffie
 0040 |2D-68-65-6C-6C-6D-61-6E 2D-67-72-6F-75-70-2D-65| -hellman-group-e
 0050 |78-63-68-61-6E-67-65-2D 73-68-61-31-2C-64-69-66| xchange-sha1,dif
 0060 |66-69-65-2D-68-65-6C-6C 6D-61-6E-2D-67-72-6F-75| fie-hellman-grou
 0070 |70-31-34-2D-73-68-61-31 2C-64-69-66-66-69-65-2D| p14-sha1,diffie-
 0080 |68-65-6C-6C-6D-61-6E-2D 67-72-6F-75-70-31-2D-73| hellman-group1-s
 0090 |68-61-31-00-00-00-0F-73 73-68-2D-64-73-73-2C-73| ha1....ssh-dss,s
 00A0 |73-68-2D-72-73-61-00-00 00-F1-61-65-73-32-35-36| sh-rsa....aes256
 00B0 |2D-63-74-72-2C-61-65-73 31-39-32-2D-63-74-72-2C| -ctr,aes192-ctr,
 00C0 |61-65-73-31-32-38-2D-63 74-72-2C-61-65-73-32-35| aes128-ctr,aes25
 00D0 |36-2D-63-62-63-2C-61-65 73-31-39-32-2D-63-62-63| 6-cbc,aes192-cbc
 00E0 |2C-61-65-73-31-32-38-2D 63-62-63-2C-33-64-65-73| ,aes128-cbc,3des
 00F0 |2D-63-74-72-2C-33-64-65 73-2D-63-62-63-2C-74-77| -ctr,3des-cbc,tw
 0100 |6F-66-69-73-68-32-35-36 2D-63-74-72-2C-74-77-6F| ofish256-ctr,two
 0110 |66-69-73-68-31-39-32-2D 63-74-72-2C-74-77-6F-66| fish192-ctr,twof
 0120 |69-73-68-31-32-38-2D-63 74-72-2C-74-77-6F-66-69| ish128-ctr,twofi
 0130 |73-68-32-35-36-2D-63-62 63-2C-74-77-6F-66-69-73| sh256-cbc,twofis
 0140 |68-31-39-32-2D-63-62-63 2C-74-77-6F-66-69-73-68| h192-cbc,twofish
 0150 |31-32-38-2D-63-62-63-2C 74-77-6F-66-69-73-68-2D| 128-cbc,twofish-
 0160 |63-62-63-2C-62-6C-6F-77 66-69-73-68-2D-63-74-72| cbc,blowfish-ctr
 0170 |2C-62-6C-6F-77-66-69-73 68-2D-63-62-63-2C-61-72| ,blowfish-cbc,ar
 0180 |63-66-6F-75-72-32-35-36 2C-61-72-63-66-6F-75-72| cfour256,arcfour
 0190 |31-32-38-2C-61-72-63-66 6F-75-72-00-00-00-F1-61| 128,arcfour....a
 01A0 |65-73-32-35-36-2D-63-74 72-2C-61-65-73-31-39-32| es256-ctr,aes192
 01B0 |2D-63-74-72-2C-61-65-73 31-32-38-2D-63-74-72-2C| -ctr,aes128-ctr,
 01C0 |61-65-73-32-35-36-2D-63 62-63-2C-61-65-73-31-39| aes256-cbc,aes19
 01D0 |32-2D-63-62-63-2C-61-65 73-31-32-38-2D-63-62-63| 2-cbc,aes128-cbc
 01E0 |2C-33-64-65-73-2D-63-74 72-2C-33-64-65-73-2D-63| ,3des-ctr,3des-c
 01F0 |62-63-2C-74-77-6F-66-69 73-68-32-35-36-2D-63-74| bc,twofish256-ct
 0200 |72-2C-74-77-6F-66-69-73 68-31-39-32-2D-63-74-72| r,twofish192-ctr
 0210 |2C-74-77-6F-66-69-73-68 31-32-38-2D-63-74-72-2C| ,twofish128-ctr,
 0220 |74-77-6F-66-69-73-68-32 35-36-2D-63-62-63-2C-74| twofish256-cbc,t
 0230 |77-6F-66-69-73-68-31-39 32-2D-63-62-63-2C-74-77| wofish192-cbc,tw
 0240 |6F-66-69-73-68-31-32-38 2D-63-62-63-2C-74-77-6F| ofish128-cbc,two
 0250 |66-69-73-68-2D-63-62-63 2C-62-6C-6F-77-66-69-73| fish-cbc,blowfis
 0260 |68-2D-63-74-72-2C-62-6C 6F-77-66-69-73-68-2D-63| h-ctr,blowfish-c
 0270 |62-63-2C-61-72-63-66-6F 75-72-32-35-36-2C-61-72| bc,arcfour256,ar
 0280 |63-66-6F-75-72-31-32-38 2C-61-72-63-66-6F-75-72| cfour128,arcfour
 0290 |00-00-00-2B-68-6D-61-63 2D-73-68-61-31-2C-68-6D| ...+hmac-sha1,hm
 02A0 |61-63-2D-6D-64-35-2C-68 6D-61-63-2D-73-68-61-31| ac-md5,hmac-sha1
 02B0 |2D-39-36-2C-68-6D-61-63 2D-6D-64-35-2D-39-36-00| -96,hmac-md5-96.
 02C0 |00-00-2B-68-6D-61-63-2D 73-68-61-31-2C-68-6D-61| ..+hmac-sha1,hma
 02D0 |63-2D-6D-64-35-2C-68-6D 61-63-2D-73-68-61-31-2D| c-md5,hmac-sha1-
 02E0 |39-36-2C-68-6D-61-63-2D 6D-64-35-2D-39-36-00-00| 96,hmac-md5-96..
 02F0 |00-1A-6E-6F-6E-65-2C-7A 6C-69-62-2C-7A-6C-69-62| ..none,zlib,zlib
 0300 |40-6F-70-65-6E-73-73-68 2E-63-6F-6D-00-00-00-1A| @openssh.com....
 0310 |6E-6F-6E-65-2C-7A-6C-69 62-2C-7A-6C-69-62-40-6F| none,zlib,zlib@o
 0320 |70-65-6E-73-73-68-2E-63 6F-6D-00-00-00-00-00-00| penssh.com......
 0330 |00-00-00-00-00-00-00                           | .......
2019-04-02 06:26:50.138 VERBOSE Sftp(2)[6] SSH: Received packet SSH_MSG_KEXINIT (299 bytes).
 0000 |14-B6-06-DC-88-67-71-F8 2A-80-A4-26-B7-09-70-63| .....gq.*..&..pc
 0010 |BB-00-00-00-60-64-69-66 66-69-65-2D-68-65-6C-6C| ....`diffie-hell
 0020 |6D-61-6E-2D-67-72-6F-75 70-31-36-2D-73-68-61-35| man-group16-sha5
 0030 |31-32-2C-64-69-66-66-69 65-2D-68-65-6C-6C-6D-61| 12,diffie-hellma
 0040 |6E-2D-67-72-6F-75-70-31 34-2D-73-68-61-32-35-36| n-group14-sha256
 0050 |2C-64-69-66-66-69-65-2D 68-65-6C-6C-6D-61-6E-2D| ,diffie-hellman-
 0060 |67-72-6F-75-70-2D-65-78 63-68-61-6E-67-65-2D-73| group-exchange-s
 0070 |68-61-32-35-36-00-00-00 07-73-73-68-2D-72-73-61| ha256....ssh-rsa
 0080 |00-00-00-15-61-65-73-32 35-36-2D-63-74-72-2C-61| ....aes256-ctr,a
 0090 |65-73-31-32-38-2D-63-74 72-00-00-00-15-61-65-73| es128-ctr....aes
 00A0 |32-35-36-2D-63-74-72-2C 61-65-73-31-32-38-2D-63| 256-ctr,aes128-c
 00B0 |74-72-00-00-00-25-68-6D 61-63-2D-73-68-61-32-2D| tr...%hmac-sha2-
 00C0 |35-31-32-2C-68-6D-61-63 2D-73-68-61-32-2D-32-35| 512,hmac-sha2-25
 00D0 |36-2C-68-6D-61-63-2D-73 68-61-31-00-00-00-25-68| 6,hmac-sha1...%h
 00E0 |6D-61-63-2D-73-68-61-32 2D-35-31-32-2C-68-6D-61| mac-sha2-512,hma
 00F0 |63-2D-73-68-61-32-2D-32 35-36-2C-68-6D-61-63-2D| c-sha2-256,hmac-
 0100 |73-68-61-31-00-00-00-09 7A-6C-69-62-2C-6E-6F-6E| sha1....zlib,non
 0110 |65-00-00-00-09-7A-6C-69 62-2C-6E-6F-6E-65-00-00| e....zlib,none..
 0120 |00-00-00-00-00-00-00-00 00-00-00               | ...........
2019-04-02 06:26:50.165 DEBUG Sftp(2)[6] SSH: Group exchange.
2019-04-02 06:19:29.118 VERBOSE Sftp(2)[5] SSH: Sending packet SSH_MSG_KEX_30 (5 bytes).
 0000 |1E-00-00-04-00                                 | .....
2019-04-02 06:19:29.263 VERBOSE Sftp(2)[5] SSH: Received packet SSH_MSG_UNIMPLEMENTED (5 bytes).
 0000 |03-00-00-00-01                                 | .....
2019-04-02 06:19:29.270 DEBUG Sftp(2)[5] SSH: Negotiation failed: Rebex.Net.SshException: Key exchange failed. Requested service is not implemented. ---> Rebex.Net.SshException: Requested service is not implemented.

1 Answer

0 votes
answered Apr 2 by Lukas Matyska (55,430 points)
edited Sep 11 by Lukas Pokorny

The error is most likely caused by a mismatch between the form of Diffie-Hellman group exchange used by the client and the server. The old Rebex client uses the legacy form that was prevalent in early days of the SSH protocol (even as late as 2010, legacy form was the only form supported by some servers), but the server you are connecting to insists on using the standard form which is prevalent now. Historically, many servers supported both forms, but it looks like some SSH servers have recently started rejecting clients using the legacy form.

Possible solutions:

  1. Set Sftp object's Settings.SshParameters.UseLegacyGroupExchange property to false (only available in Rebex SFTP 2017 R6.2 and later).

  2. Upgrade to a recent version of Rebex SFTP. To make sure it resolves the issue, try the free 30-day trial first. (There should be no need to set Settings.SshParameters.UseLegacyGroupExchange in the current version.)

commented Apr 2 by BF79 (120 points)
Looks like UseLegacyGroupExchange  wasn't implemented until build 6565 and I'm on 4700...  I'll upgrade.
...