title: What are the requirements to setup an SFTP connection in Windows C#?
body: <p>I am using VS 2012 and I would like to securely transfer files with a server after setting up an SFTP connection. I have heard setting this up in Windows is a big task compared to Linux. Can anyone tell me the exact procedure to follow.</p>
  
  <p><strong>Developments till now</strong><br>
  As far as I know there are no .NET assemblies which let you do SFTP straight away. But we can use FtpWebRequest using the System.Net assembly.
  But I wish to use SFTP. I found an application called freesshd which helps in implementing SSH server. I have also heard about
  SFTP Blackbox and Rebex (both of which are paid versions).</p>
  
  <p><strong>Expected answer pattern</strong><br>
  Step wise walkthrough from how to setup SFTP in a server to how to successfully connect with that server from a local machine.
  Suggestions for tools, assemblies or 3rd party libraries which should be used to do this task preferably with link.
  Detailed walkthrough on client side and server side modification to achieve this task.</p>
  
  <p>I appreciate any kind of help on this one. Thanks in advance.</p>
  
  <p><strong>NOTE</strong>: This is for a Windows Form application and not a web application.</p>