SSH-ключи: как безопасно входить на сервер
Зачем нужны ключи, где хранится публичная часть и почему пароль лучше не использовать как основной способ входа.
Идея SSH-ключей
SSH-ключ состоит из двух частей: приватной и публичной. Приватная часть остаётся у администратора, а публичная добавляется на сервер в файл authorized_keys.
При подключении сервер проверяет, что клиент владеет приватной частью ключа. Сам приватный ключ при этом не передаётся по сети.
Где хранить ключи
Приватный ключ нужно хранить только на доверенном устройстве. Его не стоит отправлять в мессенджеры, вставлять в публичные заметки или держать в директориях сайта.
Для дополнительной защиты приватный ключ можно закрыть passphrase. Тогда даже при копировании файла злоумышленнику потребуется ещё и парольная фраза.
Порядок внедрения
Сначала создают новый ключ, затем добавляют публичную часть на сервер и проверяют вход в новой SSH-сессии. Старую сессию лучше не закрывать до успешной проверки.
После проверки можно ограничить вход по паролю, но делать это стоит аккуратно, чтобы не потерять доступ к серверу.
Хорошая привычка
Для каждого администратора и устройства лучше использовать отдельный ключ. Так проще удалить один доступ, не меняя всё сразу.
Также полезно подписывать ключи комментариями: имя устройства, дата создания и назначение помогают быстро понять, какой ключ за что отвечает.