title: SSH host key fingerprint does not match pattern C# WinSCP
body: <p>I am trying to connect to an FTPS server using C# via WinSCP and I am getting this error:</p>
  
  <blockquote>
    <p>SSH host key fingerprint ... does not match pattern ...</p>
  </blockquote>
  
  <p>After tons of research, I believe is has something to do with the length of the key. The key I got from WinSCP when connected using its interface under "Server and protocol information" is
  <code>xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx</code>  but the ones I saw in the example is shorter like this <code>xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx</code></p>
  
  <p>Can someone please help and offer me any pointer to resolve this would be greatly appreciated.</p>
  
  <p>Here is my code</p>
  
  <pre><code>string winscpPath = "C:\\Program Files (x86)\\WinSCP\\WinSCP.exe";
  string username = "User123";
  string password = "abc1234";
  string ftpSite = "192.168.5.110";
  string localPath = "C:\\Users\\ttom\\Documents";
  string remoteFTPDirectory = "/Usr/thisfolder";
  string sshKey = "1b:68:10:80:77:c6:65:91:51:31:5t:65:1c:g6:13:20:39:g8:d8:6d";
  Boolean winSCPLog = true;
  string winSCPLogPath = "C:\\Users\\ttom\\Documents\\Visual Studio 2015\\Projects\\WebApplication1\\WebApplication1";
  
  SessionOptions sessionOptions = new SessionOptions
  {
      Protocol = Protocol.Sftp,
      HostName = ftpSite,
      UserName = username,
      Password = password,
      SshHostKeyFingerprint = sshKey
  };
  
  using (Session session = new Session())
  {
      // WinSCP .NET assembly must be in GAC to be used with SSIS,
      // set path to WinSCP.exe explicitly, if using non-default path.
      session.ExecutablePath = winscpPath;
      session.DisableVersionCheck = true;
  
      if (winSCPLog)
      {
          session.SessionLogPath = @winSCPLogPath + @"ftplog.txt";
          session.DebugLogPath = @winSCPLogPath + @"debuglog.txt";
      }
  
      // Connect
      session.Timeout = new TimeSpan(0, 2, 0); // two minutes
      session.Open(sessionOptions);
  
      TransferOptions transferOptions = new TransferOptions();
      transferOptions.TransferMode = TransferMode.Binary;
  
      session.GetFiles(remoteFTPDirectory + "/" +
          "test.txt", localPath, false, transferOptions);
  }
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/ikyIX.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ikyIX.png" alt="enter image description here"></a></p>