Виталий: В файле know_host есть лишний столбец с именем домена (ip-адресом), возможно это причина ошибки? Попробуйте использовать файл id_rsa.pub, у него формат такой: ssh-rsa
Есля я вас правильно понял, то вы предлагаете вернуть экземпляр какого нибудь, например, MyObjectCollection, который в свою очередь содержит массив, умеет с ним работать и уничтожит в деструкторе?
Тогда возникает вопрос как и в ответе @alexanius. Как пользователю библиотеки отличить функцию которая вернет объект, который нужно уничтожить и функцию которая вернет объект который уничтожать не надо?
Контейнеры я могу использовать, но пользователю всё равно нужно их потом удалять самостоятельно.
Не понятно как пользователю отличать функции-геттеры, и функции которые так или иначе возвращают new Объект.
Под геттерами я подразумеваю что в полях класса хранится указатель на что-то, что будет разрушено в деструкторе этого класса.