Features

  • Support for Linux, BSD, Solaris and Windows
  • Client and Server implementation
  • Kerberos support (GSSAPI)
  • OpenSSL and GCrypt
  • Public Key infrastructure
  • Elliptic Curve DSA (ECDSA) support (with OpenSSL)
  • Elliptic Curve Diffie Hellman (ECDH) support
  • Asynchronous (non-blocking) support
  • SCP and SFTP support (client and server)

What is this?

libssh is a mulitplatform C library implementing the SSHv2 and SSHv1 protocol for client and server implementations. With libssh, you can remotely execute programs, transfer files and use a secure and transparent tunnel for your remote applications.


Read our Tutorial and take a look at our testing infrastructure or the code in git.


Who uses libssh?






News

New hardware for libssh.org

We have new hardware for libssh.org. So several services of libssh.org have moved to a new server. The most important services have already been enabled again.

Git clone:
git clone git://git.libssh.org/projects/libssh.git

Web:
http://git.libssh.org/ – git web interface
http://api.libssh.org/ – libssh documentation
http://test.libssh.org/ – testing infrastructure
http://red.libssh.org/ – redmine installation (soon)

flattr this!

Five years of libssh development

Here is some nice video how libssh evolved …

flattr this!

libssh 0.4.6

This is a new libssh release which fixes some problems on Windows, fixes open channel handling and keepalive.

If you are new to libssh read The Tutorial how to get started. Please join our mailing list or visit our irc channel if you have questions.

You can download libssh 0.4.6 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added a cleanup function to free the ws2_32 library.
  • Fixed build with gcc 3.4.
  • Fixed the Windows build on Vista and newer.
  • Fixed the usage of WSAPoll() on Windows.
  • Fixed “@deprecated” in doxygen
  • Fixed some mingw warnings.
  • Fixed handling of opened channels.
  • Fixed keepalive problem on older openssh servers.
  • Fixed testing for big endian on Windows.
  • Fixed the Windows preprocessor macros and defines.

flattr this!

libssh 0.4.5

This is a new libssh release which fixes the poll(2)-emulation on Windows and adds an option to bind the client to an ip address.

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.

You can download libssh 0.4.5 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added option to bind a client to an ip address.
  • Fixed the ssh socket polling function.
  • Fixed Windows related bugs in bsd_poll().
  • Fixed serveral build warnings.

flattr this!

libssh 0.4.4

This is a new libssh release which fixes a null-termination problem in the tilde expand function and applying the options.

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.

You can download libssh 0.4.4 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Fixed a bug in the expand function for escape sequences.
  • Fixed a bug in the tilde expand function.
  • Fixed a bug in setting the options.

flattr this!

libssh 0.4.3

This is a new libssh release which fixes important bugs and adds some nice new features. We have rewritten the poll(2)-emulation and on Windows we check for WSAPoll() on runtime now.

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.

You can download libssh 0.4.3 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added global/keepalive responses.
  • Added runtime detection of WSAPoll() for Vista and Windows 7.
  • Added a select(2) based poll-emulation if poll(2) is not available.
  • Added a function to expand an escaped string.
  • Added a function to expand the tilde from a path.
  • Added a proxycommand support.
  • Added ssh_privatekey_type public function
  • Added the possibility to define _OPENSSL_DIR and _ZLIB_DIR.
  • Fixed sftp_chown.
  • Fixed sftp_rename on protocol version 3.
  • Fixed a blocking bug in channel_poll.
  • Fixed config parsing wich has overwritten user specified values.
  • Fixed hashed [host]:port format in knownhosts
  • Fixed Windows build.
  • Fixed doublefree happening after a negociation error.
  • Fixed aes*-ctr with <= OpenSSL 0.9.7b.
  • Fixed some documentation.
  • Fixed exec example which has broken read usage.
  • Fixed broken algorithm choice for server.
  • Fixed a typo that we don’t export all symbols.
  • Removed the unneeded dependency to doxygen.
  • Build examples only on the Linux plattform.

flattr this!

libssh 0.4.2

This is a new minor libssh release which fixes some bugs and adds some small features like setting the owner and group in the sftp attributes if we talk to an openssh server. This version fixes some bugs discovered with KDE SC 4.4.1.

This version of libssh has official Windows support. The KDE Windows team ensures that the library is correctly working with MinGW and MSVC. Thanks for this!

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.
You can download libssh 0.4.2 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added owner and group information in sftp attributes.
  • Added missing SSH_OPTIONS_FD option.
  • Added printout of owner and group in the sftp example.
  • Added a prepend function for ssh_list.
  • Added send back replies to openssh’s keepalives.
  • Fixed documentation in scp code
  • Fixed longname parsing, this only workings with readdir.
  • Fixed and added support for several identity files.
  • Fixed sftp_parse_longname() on Windows.
  • Fixed a race condition bug in ssh_scp_close()
  • Remove config support for SSHv1 Cipher variable.
  • Rename ssh_list_add to ssh_list_append.
  • Rename ssh_list_get_head to ssh_list_pop_head

flattr this!

libssh 0.4.1

This is a new minor libssh release which fixes some bugs we found since the last release. This version fixes some bugs discovered with KDE SC 4.4.

This version of libssh has official Windows support. The KDE Windows team ensures that the library is correctly working with MinGW and MSVC. Thanks for this!

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.
You can download libssh 0.4.1 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added support for aes128-ctr, aes192-ctr and aes256-ctr encryption.
  • Added an example for exec.
  • Added private key type detection feature in privatekey_from_file().
  • Fixed zlib compression fallback.
  • Fixed kex bug that client preference should be prioritary
  • Fixed known_hosts file set by the user.
  • Fixed a memleak in channel_accept().
  • Fixed underflow when leave_function() are unbalanced
  • Fixed memory corruption in handle_channel_request_open().
  • Fixed closing of a file handle case of errors in privatekey_from_file().
  • Fixed ssh_get_user_home_dir() to be thread safe.
  • Fixed the doxygen documentation.

flattr this!

libssh 0.4.0

This is a new major libssh release which provides new features, a cleaned up API interface and it will be typesafe for the future. We broke the API of serveral functions and added new ones so that we don’t have to break the API in future. You can find more information on this page. This version will be required by KDE SC 4.4 to get kio_sftp working.

This version of libssh has official Windows support. The KDE Windows team ensures that the library is correctly working with MinGW and MSVC. Thanks for this!

If you are new to libssh read the API reference how to get started. Please join our mailing list or visit our irc channel if you have questions.
You can download libssh 0.4.0 here. For Windows binaries we suggest to use the MSVC and MinGW binaries from the KDE Windows project here. Packages for Fedora are available here and for openSUSE here.

ChangeLog:

  • Added scp support.
  • Added support for sending signals (RFC 4254, section 6.9).
  • Added MSVC support.
  • Added support for ~/.ssh/config.
  • Added sftp extension support.
  • Added X11 forwarding support for client.
  • Added forward listening.
  • Added support for openssh extensions (statvfs, fstatvfs).
  • Added a cleaned up interface for setting options.
  • Added a generic way to handle sockets asynchronously.
  • Added logging of the sftp flags used to open a file.
  • Added full poll() support and poll-emulation for win32.
  • Added missing 64bit functions in sftp.
  • Added support for ~/ and SSH_DIR/ in filenames instead of %s/.
  • Fixed Fix channel_get_exit_status bug.
  • Fixed calltrace logging to make it optional.
  • Fixed compilation on Solaris.
  • Fixed resolving of ip addresses.
  • Fixed libssh compilation without server support.
  • Fixed possible memory corruptions (ticket #14).

flattr this!

KDE uses libssh

The KDE project uses libssh for their kio_sftp implementation now. The new kio slave based on libssh will be released with KDE 4.4.0. As the implementation works fairly well, openSUSE has backported the patches to their KDE 4.3 release which is available in the openSUSE Build Service and will be released with openSUSE 11.2. More features will be added as soon as libssh 0.4 is released. The first release candidates will follow soon.

With the help of the KDE Team we have official support for Windows and MSVC now. The KDE Team checks regularly if the latest development version compiles and works. We will offer this support with the upcoming release of libssh, version 0.4.

flattr this!