ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как устранить ошибку «Unprotected Private Key File (Незащищённый файл закрытого ключа)» в SSH в Windows

Как устранить ошибку «Незащищённый файл закрытого ключа» в SSH в Windows

При работе с SSH, особенно при попытке подключиться к удалённым серверам (например, инстансам AWS EC2), вы обычно используете файл закрытого ключа для безопасной аутентификации. Однако иногда вы можете столкнуться с ошибкой, связанной с разрешениями файла закрытого ключа. Эта ошибка часто выглядит следующим образом:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     	WARNING: UNPROTECTED PRIVATE KEY FILE!      	@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'ec2-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.

 

Эта ошибка возникает из-за того, что права доступа к файлу закрытого ключа (ec2-key.pem) слишком открыты. SSH обеспечивает строгие права доступа, чтобы файлы закрытых ключей были доступны только их владельцу. Если файл ключа доступен другим пользователям системы, SSH откажется его использовать из соображений безопасности.

В этой статье мы расскажем, как решить эту проблему, настроив права доступа к файлам в Windows.

 

Шаги по исправлению ошибки “Незащищенный файл закрытого ключа” в Windows

Выполните следующие действия, чтобы исправить права доступа к файлам и устранить проблему:

 

Откройте PowerShell от имени администратора

 

Перейдите в каталог, содержащий закрытый ключ

Вам нужно будет перейти к местоположению вашего закрытого ключа (ec2-key.pem). Выполните следующую команду в PowerShell, заменив путь на фактическое местоположение файла ключа:

cd C:/Users/iFran/Desktop

 

Удалить разрешения для других пользователей

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

icacls ec2-key.pem /inheritance:r
icacls ec2-key.pem /remove "BUILTIN\Users"
icacls ec2-key.pem /grant:r "%username%":F

 

Давайте разберем, что делают эти команды:

 

Проверьте разрешения

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

icacls ec2-key.pem

 

Вы должны увидеть вывод, подобный следующему:

ec2-key.pem: <your_username>:(F)

 

Это означает, что только ваш пользователь (<your_username>) имеет полный доступ ((F)) к файлу, что решает проблему безопасности.

 

Исправление прав доступа к файлам в Linux/macOS

Если вы столкнулись с той же проблемой в Linux или macOS, вы можете решить её, изменив разрешения с помощью одной команды:

chmod 600 ec2-key.pem

 

Эта команда гарантирует, что только владелец файла имеет права на чтение и запись файла закрытого ключа.

 

Заключение

Ошибка «UNPROTECTED PRIVATE KEY FILE» возникает, когда права доступа к файлу приватного ключа SSH слишком открыты и он доступен другим пользователям вашей системы. Следуя инструкциям, приведённым в этом руководстве, вы сможете ограничить права доступа к файлу и безопасно использовать приватный ключ с SSH.

Обеспечение безопасности файлов с закрытыми ключами имеет решающее значение для предотвращения несанкционированного доступа, и эти шаги помогают усилить защиту как в Windows, так и в Linux/macOS.

Выполнив эти действия, вы сможете устранить ошибку с разрешениями и продолжить безопасно использовать свой SSH-ключ. Не стесняйтесь делиться своими мыслями или задавать дополнительные вопросы в комментариях ниже!

Exit mobile version