Да, невозможно восстановить закрытый ключ из открытого ключа. Если бы это было возможно, RSA был бы в корне сломлен, и это было бы важной новостью (взлом RSA не только нарушил бы безопасность интернет-коммуникаций, но и допустил бы все виды банковского мошенничества, среди прочего).
Вход в систему с открытым ключом вместо пароля фактически повышает безопасность. Если ваш пароль недостаточно надежен, он может быть взломан злоумышленником с достаточной пропускной способностью. Если у злоумышленника нет копии вашего файла закрытого ключа, ключ RSA фактически не может быть взломан (1024-битный ключ эквивалентен чему-то вроде 160-символьного пароля, состоящего из случайных букв и цифр с учетом регистра) , Кто-то, кто следит за вашим плечом, может увидеть ваш пароль и ключевую фразу, но с ключом ему также понадобится получить ключ.
Закрытые ключи не всегда более безопасны, чем пароли. Если злоумышленник получит копию ваших файлов закрытого ключа (например, похитив ваш ноутбук или носитель с резервной копией), он может попытаться перебором парольной фразы, и он сможет сделать это с высокой скоростью, поскольку у вас нет возможности ограничить скорость (в отличие от предположения пароля, которые должны быть сделаны в Интернете). Если ваш пароль достаточно хорош и вы сразу заметите кражу, у вас все равно будет время отозвать ключ.
Открытый ключ вводит элемент защиты конфиденциальности: если кто-то знает, что вы использовали один и тот же открытый ключ для входа в A и для входа в B, он знает, что один и тот же человек вошел в A и B. Просто владение открытым ключом делает вас подозреваемый, что у вас также есть закрытый ключ, поэтому вы теряете некоторую анонимность. Но это обычно незначительно, особенно если вы просто храните ключ, ~/.ssh
чтобы его могли видеть только системные администраторы (которые также знают, с какого IP-адреса вы вошли в систему).
Помимо этих соображений безопасности, закрытый ключ имеет много практических преимуществ. Вам не нужно вводить свой пароль так часто, и, в частности, вы можете запускать автоматические сценарии, которые не запрашивают вас, когда вы ввели ключ в ssh-agent или тому подобное. Вам не нужно вводить свой пароль так часто, чтобы вы могли сделать его более энтропийным (длиннее, сложнее для ввода). Вам не нужно вводить свой пароль так часто, поэтому существует меньший риск того, что он будет подслушан наблюдателем или камерой.