Paul Thomas' Performance-Tuned SSH Library or PTssh for short

PTssh was created to fulfill a need for a high-speed, efficient and cross-platform SSH library that is able to utilize multiple CPU cores for extreme performance. Now includes SFTP support


Fully support FREE software. PTssh is licensed under a MIT/X derivative license
Provides a thread-safe library which is designed from the ground up to take advantage of multiple processors/cores
Designed to be cross platform. I do my development on Win7 and Kubuntu Linux and try to keep updated CMake files for ease of generating platform-specific Make files.
Able to simultaneously send and receive data. Internally, PTssh uses a non-blocking socket and has separate threads that handle sending and receiving data.
SSH made simple: Socket creation and destruction is all handled internally.
PTssh can be used either directly as a C++ class (best performance) or you can link against it using the C shared library interface (DLL or SO).
Supports SSH 1.99 and 2.0
SFTP version 3

Simply put, PTssh was designed from the ground up for speed.

    Tough stuff made simple:
  • Automatic X11 forwarding: PTssh can automatically handle X11 forwards to your local X11 server. Adding X11 forwarding to your app is as easy as a simple function call.
  • TCP/IP Tunneling: PTssh can automatically listen for connections on a local socket and appropriately channel data to/from the socket and the library. Adding tunneling is as easy as a simple function call
    • Supports a variety of encryptions:
    • AES-CBC 128/192/256
    • 3DES-CBC
    • Blowfish-CBC
    • Arcfour
    • Cast128-CBC
    • none
      Public key exchange methods:
    • diffie-hellman-group14-sha1
    • diffie-hellman-group1-sha1
      Message Authentication (MAC) methods:
    • hmac-sha1
    • hmac-sha1-96
    • hmac-md5
    • hmac-md5-96
    • none
      SSH Channel Support:
    • shell
    • exec
    • direct-tcpip
    • subsystem
    • OpenSSL or Gcrypt (in a future release)
    • POSIX threads (pthreads)
    • Zlib (optional)