Инструменты

Две небольшие вещи, которые пригодились по ходу работы над клиентом и оказались полезнее выложенными, чем оставленными у себя. Обе работают целиком в вашем браузере, аккаунта не просят и ничем не ограничены.

Проверка ~/.ssh/config
Вставьте свой конфиг и получите строки, которые стоит поправить: устаревшие шифры, MAC на MD5 и SHA-1, обмен ключами без curve25519, выключенная проверка ключа хоста и директивы, которые молча перебиты строкой выше. Заодно собирает исправленный конфиг.
Проверка публичного SSH-ключа
Вставьте публичный ключ и получите алгоритм, настоящую длину, отпечаток SHA256 ровно в том виде, в каком его печатает ssh-keygen, и оценку от A до D с объяснением. Приватный ключ, вставленный по ошибке, не обрабатывается, а отклоняется.

Почему они работают в браузере

Оба инструмента принимают то, к чему люди справедливо относятся осторожно. Файл конфигурации называет ваши хосты, ваших пользователей и ваши промежуточные машины; публичный ключ на то и публичный, но приходит из того же каталога, что и приватный. Ни тому ни другому нечего делать на чужом сервере ради проверки, которая локально занимает миллисекунду.

Поэтому ни одна из двух страниц не делает сетевых запросов после загрузки и ни одна не несёт счётчиков. Второе стоит нам статистики по этим двум адресам, и оно того стоит: обещание проверяется за десять секунд с открытой вкладкой «Сеть», а не принимается на веру.

Как они проверены

Проверка ключа сверена с самим ssh-keygen: создаются пять настоящих типов ключей, и разрядность вместе с отпечатком SHA256 сравниваются с тем, что печатает ssh-keygen -lf. Совпадение с внешним авторитетом — более сильная проверка, чем любое утверждение, написанное тем же человеком, что написал разбор.

Проверка конфига держится на правиле, которое легко сформулировать и легко провалить: конфиг, который она сама собирает, обязан пройти её же проверки без единой ошибки и без единого замечания.

Это уже окупилось. Тесты поймали обрезанный ключ, получавший оценку A, — тело SSH-ключа это цепочка полей с длиной впереди, и ключ, обрезанный посередине, часто разбирается без единой жалобы. И поймали линтер, который советовал добавить IdentityFile в пустой файл.

Что почитать дальше