SharpSSH - A Secure Shell (SSH) library for .NET

SharpSSH is a pure .NET implementation of the SSH2 client protocol suite. It provides an API for communication with SSH servers and can be integrated into any .NET application.

The library is a C# port of the JSch project from JCraft Inc. and is released under BSD style license.

SharpSSH allows you to read/write data and transfer files over SSH channels using an API similar to JSch's API. In addition, it provides some additional wrapper classes which offer even simpler abstraction for SSH communication.

SharpSSH is hosted on sourceforge, please check out its project page.

Feaure List

SharpSSH is not yet a full port of JSch. The following list summarizes the features currently supported by SharpSSH:
  • SharpSSH is pure .NET, but it depends on Mentalis.org Crypto Library for encryption and integrity functions.
  • SSH2 protocol support
  • SSH File Transfer Protocol (SFTP)
  • Secure Copy (SCP)
  • Key exchange: diffie-hellman-group-exchange-sha1, diffie-hellman-group1-sha1
  • Cipher: 3des-cbc, aes128-cbc
  • MAC: hmac-md5
  • Host key type: ssh-rsa, ssh-dss
  • Userauth: password, publickey (RSA, DSA)
  • Port Forwarding
  • Stream Forwarding
  • Remote Exec
  • Generating DSA and RSA key pairs
  • Changing the passphrase for a private key

Download

SourceForge.net Logo

SharpSSH is now hosted on sourceforge. Latest SharpSSH version is 1.1.1.13 (Jun-24-2007)


Related Information

  • JSch's API examples - See some of the Java JSch examples translated to C# with SharpSSH (note these samples can aslo be viewed via the sf.net CVS repository).
  • JSch - The java SSH2 library on which SharpSSH is based upon.
  • Mentalis.org - The Mentalis.org Crypto Library is an implementation of several popular cryptographic algorithms. Their implementation of HMAC and Diffie Hellman is used in SharpSSH.