Откуда Putty берет открытый ключ хоста сервера?

Откуда Putty берет открытый ключ хоста сервера?

Я вхожу в Debian box и получаю предупреждение безопасности, показывающее мне открытый ключ хоста. Когда я сравниваю полный открытый ключ, сообщенный PuTTY, с тем, что в ~/.ssh/authorized_keys, я обнаруживаю, что они не совпадают.

Меня подвергли MITM или я чего-то не понимаю?

решение1

Мне не ясно, какую роль играет закрытый ключ /etc/ssh/ssh_host_${type}_key в соединении. Не ясно, как помогает то, что сервер отправляет мне открытый ключ, когда злоумышленник может просто проверить, какой открытый ключ отправляется с атакуемого сервера, вмешаться и просто подделать тот же самый открытый ключ.

Чтобы было ясно, сервер на самом деле не пересылает вам ваш открытый ключ обратно. Сервер имеетсвой собственныйсовершенно отдельный ключ, который он вам посылает – «ключ хоста». Как публичная, так и приватная части ключа хоста хранятся в /etc/ssh.

Сервер нетолькоотправить открытый ключ; он также отправляетподписьсоздано с использованием соответствующего закрытого ключа, который клиент может использовать в качестве доказательства. (Подписываемые данные уникальны для каждого соединения.) Злоумышленник может отправить тот же открытый ключ, но не сможет создать подпись.

Аналогичным образом работают сертификаты в SSL/TLS (HTTPS и т. п.).

Ваш собственный ключ аутентификации также проверяется сервером таким же образом, то есть PuTTY не только отправляет ваш открытый ключ, но и использует ваш закрытый ключ для подписи сообщения, так что кто-то другой не сможет войти в систему от вашего имени, просто просмотрев ваш файл authorized_keys.

Связанный контент