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.
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
SharpSSH is now hosted on sourceforge. Latest SharpSSH version is 184.108.40.206 (Jun-24-2007)
- 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.