Если php функционал по ssh, в частности ssh2_connect и иже с ним не весь стек реализуют с 0, а работают поверх системного ssh, и то что выше по предпочитаемым алгоритмам предложили не помогло (хотя в этом плане 18.04 и 20, 22 версии не сильно отличаются) то дело может быть еще проще.
На хосте откуда подключается php захэшировались открытые ключи сервера, который обновляете. И при подключении они не совпадают с теми, что у нового. Вот он подключиться и не может.
Попробуйте как быстрый вариант переименовать ~/.ssh/known_hosts на что-то другое, в домашнем каталоге пользователя от которого не работает. Если поможет - значит дело в этом. Файл возвращаем обратно и из него удаляем только ключи хоста который обновляем ssh-keygen -R hostname [-f known_hosts_file]
>>В общем, пока не придумал, ни чего лучше, кроме как написать Python программу, для запуска другой Python программы)))
Извините, не сдержался :) Тимофея вам в ленту, хоть там и про рекурсию.
На правах музыкальной паузы оставлю это здесь, не ругайте сильно пожалуйста https://www.youtube.com/watch?v=n3Q_FIJ6s-s
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
На хосте откуда подключается php захэшировались открытые ключи сервера, который обновляете. И при подключении они не совпадают с теми, что у нового. Вот он подключиться и не может.
Попробуйте как быстрый вариант переименовать ~/.ssh/known_hosts на что-то другое, в домашнем каталоге пользователя от которого не работает. Если поможет - значит дело в этом. Файл возвращаем обратно и из него удаляем только ключи хоста который обновляем
ssh-keygen -R hostname [-f known_hosts_file]