"Expected KEX_DH_GEX_GROUP/KEXDH_REPLY" error using Chilkat library

1.6k views Asked by At

I am evaluating the new library of Chilkat SFTP.

However, I am getting an error as follows when connecting to an SFTP:

ChilkatLog:
Connect_SFtp:
DllDate: Aug 15 2013
ChilkatVersion: 9.4.1.42
UnlockPrefix: xxxxxxxx
Username: (hidden)
Architecture: Little Endian; 32-bit
Language: .NET 2.0
VerboseLogging: 0
SftpVersion: 0
hostname: xx.xxx.xxx.xxx
port: 22
ConnectTimeoutMs_1: 50000
calling ConnectSocket2
IPV6 enabled connect with NO heartbeat.
This is an IPV4 numeric address...
AddrInfoList:
AddrInfo:
ai_flags: 4
ai_family: 2
ai_socktype: 1
ai_protocol: 0
ai_addrlen: 16
ai_canonname: (NULL)
--AddrInfo
--AddrInfoList
Connect using IPV4.
ipAddress1: xx.xxx.xxx.xxx
myIP_3: xx.x.xxx.xx
myPort_3: 50483
connect successful (2)
Established TCP/IP connection with SSH server
Turning on TCP_NODELAY.
clientIdentifier: SSH-2.0-PuTTY_Local:_May_11_2009_17:22:38
Sending client identifier...
Done sending client identifier.
Reading server version...
initialDataFromSshServer: SSH-2.0-0.0

serverVersion: SSH-2.0-0.0 
KeyExchangeAlgs:
  algorithm: diffie-hellman-group1-sha1
  algorithm: diffie-hellman-group-exchange-sha1
  algorithm: diffie-hellman-group14-sha1
--KeyExchangeAlgs
HostKeyAlgs:
  algorithm: ssh-dss
--HostKeyAlgs
EncCS:
  algorithm: aes256-cbc
  algorithm: aes192-cbc
  algorithm: aes128-cbc
  algorithm: twofish-cbc
  algorithm: blowfish-cbc
  algorithm: 3des-cbc
  algorithm: arcfour
--EncCS
EncSC:
  algorithm: aes256-cbc
  algorithm: aes192-cbc
  algorithm: aes128-cbc
  algorithm: twofish-cbc
  algorithm: blowfish-cbc
  algorithm: 3des-cbc
  algorithm: arcfour
--EncSC
MacCS:
  algorithm: hmac-sha1
  algorithm: hmac-sha1-96
  algorithm: hmac-md5
  algorithm: hmac-md5-96
--MacCS
MacSC:
  algorithm: hmac-sha1
  algorithm: hmac-sha1-96
  algorithm: hmac-md5
  algorithm: hmac-md5-96
--MacSC
CompCS:
  algorithm: zlib
  algorithm: none
--CompCS
CompSC:
  algorithm: zlib
  algorithm: none
--CompSC
Encryption: 256-bit AES CBC
Encryption: 256-bit AES CBC
MAC: HMAC-SHA1
MAC: HMAC-SHA1
Compression: zlib
Compression: zlib
Key Exchange: DH Group Exchange SHA1
Host Key Algorithm: DSS
numBits: 160
pbits: 2048
Using GEX Group.
Sending KEX_DH_GEX_REQUEST...
pbits: 2048
Unexpected message received.  Expected KEX_DH_GEX_GROUP/KEXDH_REPLY.
msgType: 1
Failed.

--Connect_SFtp --ChilkatLog


I am primarily using the 4 functions to connect to SFTP

sftp.UnlockComponent(ChilkatKey);  
sftp.Connect(hostname, port);  
sftp.AuthenticatePw(username, password);  
sftp.InitializeSftp();  

What am I missing ? Thanks for your help.

1

There are 1 answers

0
Alp On

correct order should be like as yours:

but after those guys, u need to call OpenDir and ReadDir(if you need to get files count on remote folder) methods like;

string handler = sftp.OpenDir("remote_path");
SFtpDir compassDir = sftp.ReadDir(handler);

to just download a file you don't need to call ReadDir but OpenDir must be called. After the populating compassDir object you can get file count by;

int fileAmount = compassDir.NumFilesAndDirs

or you can download files by name like;

sftp.DownloadFileByName("local_path","Remote_path_with_file_name");

Sorry for the typo errors.....