About
The ssh library was designed to be used by programmers needing a working SSH implementation by the mean of a library. The complete control of the client is made by the programmer. With libssh, you can remotely execute programs, transfer files, use a secure and transparent tunnel for your remote programs. With its Secure FTP implementation, you can play with remote files easily, without third-party programs others than libcrypto (from openssl).
Who uses libssh?
- KDE uses libssh for the kio_sftp slave
- csync a bidirectional file synchronizer
- Remmina the GTK+/Gnome Remote Desktop Client
Features
- Full C library functions for manipulating a client-side SSH connection
- SSH2 and SSH1 protocol compliant
- Fully configurable sessions
- Server support
- SSH agent authentication support
- Support for AES-128, AES-192, AES-256, Blowfish, 3DES in CBC mode
- Supports OpenSSL and GCrypt
- Use multiple SSH connections in a same process, at same time
- Use multiple channels in the same connection
- Thread safety when using different sessions at same time
- POSIX-like SFTP (Secure File Transfer) implementation with openssh extension support
- SCP implementation
- Large file system support (files bigger than 4GB)
- RSA and DSS server public key supported
- Compression support (with zlib)
- Public key (RSA and DSS), password and keyboard-interactive authentication
- Full poll() support and poll-emulation for win32.
- A complete doxygen documentation about its API
- Runs and tested under x86_64, x86, ARM, Sparc32, PPC under Linux, BSD, MacOSX, Solaris and Windows
- Developers listening to you
- It’s free (LGPL)!
Authors
Libssh is brought to you by Aris Adamantiadis and Andreas Schneider. These people also contributed to libssh :
- Jean-Philippe Garcia Ballester (libgcrypt support)
- Nick Zitzmann (SFTP enhancements)
- Norbert Kiesel (Numerous bugfixes)
- Laurent Bigonville (Debian packager)