обнаружить, что тебя обнюхивают
Это именно то, от чего защищает SSH. Пока вы тщательно проверяете ключ хоста, не имеет значения, кто-то читает ваш трафик: все это зашифровано.
отключение до раскрытия любой конфиденциальной информации
Опять же, стандартный SSH будет в порядке. Проверка ключа хоста - это одна из первых вещей, которую нужно выполнить при установлении соединения SSH; если вы отмените его, соединение будет немедленно закрыто без передачи каких-либо данных аутентификации.
Например, если вы отказываетесь подключиться, если отпечаток пальца не соответствует ожидаемому, MITM все еще работает?
Злоумышленник не получит никаких "частных" данных SSH, если вы это имеете в виду. Смотрите выше - проверка ключа хоста - это одно из первых дел. Больше ничего не отправляется, пока сервер не проверен.
может быть, есть способ искажать данные, чтобы они не имели смысла или что-то в этом роде?
Это называется "шифрование" и является основной частью SSH. :) Злоумышленник не сможет ничего прочитать, если вы не примете его hostkey вместо реального. Точно так же шифрование наряду с проверкой целостности (используя HMAC) делает невозможным вставку пакетов.
Я признаю, что я не криптограф или что-то еще. Но ИМХО, если вы тщательно проверяете отпечаток ключа хоста, то SSHv2 настолько безопасен, насколько это возможно.
Если бы это не было безопасно, это было бы исправлено / заменено / модернизировано. Это произошло однажды: SSH v1 был заменен на SSH v2.
Это означает, что вы должны отключить SSH v1 как на сервере, так и на клиенте.
Версия 1 SSH очень небезопасна, и хотя большинство клиентов настроены на использование SSHv2 в первую очередь, они все равно будут использовать версию v1, если сервер не предлагает версию v2. Это открывает возможность для атаки MITM ... хотя я не помню деталей, это как-то связано с тем, что злоумышленник генерирует ключ v1 с очень похожим отпечатком.
Для OpenSSH поместите Protocol 2
в ваш конфигурационный файл.
Существует очень малая вероятность того, что один из алгоритмов, используемых SSH, не работает. Но если кому-то удастся сломать RSA или DH, у мира будут большие проблемы, о которых нужно беспокоиться, чем безопасность вашего сервера ... (Кроме того, существуют альтернативные алгоритмы.)
Кстати, OpenSSH v5.8 переключился с DH и DSA на ECDH и ECDSA в качестве своих основных алгоритмов (для обмена ключами и ключей хоста соответственно).