Search code examples
c#sslftpsftpchilkat

ChilkatDotNet2: connect to server SFTP


In my C# project I have included ChilkatDotNet2.dll in order to connect to a SFTP server. For the moment, I have tried to implemt a simple connection method like the following:

Chilkat.Ftp2 F = null;
F = (Chilkat.Ftp2)new Chilkat.Ftp2();
F.Hostname = "sftp.domain.com";
F.Username = "username";
F.Password = "password";
F.Port = 22;
F.AuthTls = true;

if (!(F.Connect())) {
    MainFrm.set_AlertMessage(F.ConnectFailReason); 
}

and it always fails connecting and I always get the error 200 which means

Connected, but failed to receive greeting from FTP server.

according to Chilkat documentation.

What am I missing? I have tried to connect to a simple ftp server test (without SSL/TLS) and it connects correctly so I think I am missing something. The credentials I was given are correct as I tried to connect to the SFTP server with Filezilla. Thank you.

UPDATE

Chilkat.SFtp v_SFTP = null;
v_SFTP = (Chilkat.SFtp)new Chilkat.SFtp();
if (v_SFTP.Connect("sftp.domain.com", 22) {
    if (v_SFTP.AuthenticatePw("username", "password")) {
      IDVariant v_SUCCESS = null;
      bool v_SUCCESS = v_SFTP.InitializeSftp();
    }
}
else {
    MainFrm.set_AlertMessage(v_SFTP.LastErrorText); 
}

Solution

  • F = (Chilkat.Ftp2)new Chilkat.Ftp2();
    

    Chilkat.Ftp2 is an FTP client. It supports the FTP protocol. SFTP is a completely different protocol which just happens to have a similar name.

    If you want to connect to an SFTP server using Chilkat, look at Chilkat.SFtp.