SSH-библиотека C на стороне сервера

Мне нужно использовать какую-то библиотеку ssh, которая имеет реализацию на стороне сервера для моей встроенной системы.

Решение должно соответствовать следующим требованиям:

  • Возможность иметь некоторый механизм обратного вызова для таких вещей, как управление памятью.

  • Возможность компиляции на нескольких архитектурах

Какую библиотеку посоветуете?

Я предпочитаю, чтобы библиотека была с открытым исходным кодом

До сих пор я нашел libssh2, который реализует механизм обратного вызова, но реализует только клиентскую сторону, в то время как libssh реализует клиентскую сторону, но не реализует механизм обратного вызова памяти.

Ответы (2)

Насколько я знаю, libsshэто ваш единственный шанс для C. Другой libssh2не поддерживает серверную часть. Есть простое сравнение этих двух.

Я не уверен, что вы подразумеваете под «механизмом обратного вызова для таких вещей, как управление памятью» и что именно вы хотите делать с библиотекой ssh ​​на стороне сервера, но для справки есть сравнение всех реализаций SSH (не только библиотеки) . Возможно, вы сможете подключить свое событие к реальному sshсерверу из Dropbear, OpenSSH или Apache SSHD.

под обратным вызовом для управления памятью я имею в виду, что я могу использовать что-то кроме malloc для выделения памяти, некоторые встроенные системы не используют стандартные функции управления памятью
Насколько я знаю, Dropbear создан для встраиваемых систем, поэтому он обязательно должен поддерживать что-то подобное.

В 2021 году появилось больше библиотек C, позволяющих реализовать встроенный SSH-сервер. Три библиотеки, перечисленные ниже, имеют открытый исходный код и предназначены для переноса: