LogRaker форкнул swift-nio-ssh, чтобы подключиться к старым EC2-инстансам

Adding RSA Support to swift-nio-ssh

LogRaker форкнул swift-nio-ssh, чтобы подключиться к старым EC2-инстансам

swift-nio-ssh намеренно не поддерживает RSA, но LogRaker понадобилось подключаться к инстансам Amazon EC2, где до 2021 года выдавали только PKCS#1 RSA-ключи. Расширить библиотеку извне нельзя: внутренний enum и приватные инициализаторы не оставляют точек расширения, поэтому пришлось вендорить форк. Главная ловушка — имя алгоритма в запросе publickey должно указывать на rsa-sha2-512, а не на ssh-rsa, и это имя пишется в двух местах, которые обязаны совпадать байт в байт.

Если они разойдутся, каждый отправленный байт по отдельности корректен, ключ верен, подпись — валидная RSA-подпись, и всё равно сервер её отвергнет.

Ещё за этот день

2026-11-13