Вышел релиз библиотеки libssh 0.5, предназначенной для интеграции поддержки SSH в программы на языке Си. Библиотека позволяет выполнять программы на удаленном сервере, копировать файлы через защищенное соединение, при этом поддерживается как механизм scp, так и sftp, который реализована без задействования внешних библиотек, таких как libcrypto (из OpenSSL) или libgcrypt. Исходные тексты библиотеки распространяются под лицензией LGPL. Из программ, использующих libssh можно отметить утилиту для двухсторонней синхронизации файлов csync.
В новой версии переписана большая часть кода, что позволило перейти от архитектуры синхронной обработки сетевых запросов к схеме асинхронного обслуживания вызовов, основанной на обработке событий. В libssh 0.5.0 также улучшены функции работы в роли SSH-сервера, обеспечена полная поддержка платформы Windows, подготовлены unit-тесты для более качественного тестирования выпусков, значительно расширена документация.
Особенности Libssh (не путать с проектом libssh2, который практически идентичен по функциональности, но распространяется в рамках лицензии BSD):
- Поддержка серверных и клиентских функций;
- Поддержка режимов шифрования AES-128, AES-192, AES-256, Blowfish, 3DES в CBC, AES в режиме CTR;
- Поддержка протоколов SSH1 и SSH2;
- Поддержка расширений протокола, специфичных для OpenSSH;
- Возможность работы с серверами публичных ключей RSA и DSS;
- Поддержка сжатия данных;
- Работа совместно с ssh-agent и возможность организации работы нескольких сеансов в рамках одного соединения;
- Отсутствие зависимостей от внешних приложений и библиотек, что позволяет использовать libssh для встраиваемых устройств.