"WARNING: UNPROTECTED PRIVATE KEY FILE!" - не получается войти в учётную записать VPS по ключам с локальной Windows-машины

Руководствуясь статьёй из авторитетного источника, изготовил пару ключей для входа на VPS и скопировал их (правда, в статье, не написано, как это делать в Windows, но я эту проблему решил).

Теперь, когда я пытаюсь зайти на VPS через SSH

ssh -i "C:\Users\Me\.ssh\MyWebApp.pub" [email protected]

я получаю предупреждение

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions for 'C:\\Users\\Me\\.ssh\\MyWebApp.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "C:\\Users\\Me\\.ssh\\MyWebApp.pub": bad permissions
[email protected]'s password:

введите сюда описание изображения

Уже на этом этапе возникает два вопроса:

  1. Ключ создан в папке пользователя (скажем, Me). Как это так он "доступен другим" (accessible by others)?
  2. В заголовке сказано, что незащищён приватный ключ, а .pub - это вроде как публичный.

Буду благодарен за объяснение этих моментов, а пока я приведу попытку решения проблемы.

На Stack Exchange я нагуглил PowerShell решение:

Icacls <file name> /Inheritance:r
Icacls <file name> /Grant:r "%Username%":"(R)"

Насколько я понял, его идея - запретить все взаимодействия с файлом для всех пользователей и затем разрешить чтение для текущего.

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

Icacls <file name> /Grant:r "$Username":"(R)"

По завершению операции PowerShell скажет, что всё завершилось удачно, но если попробовать зайти в учётную запись, будет то же самое предупреждение.

Пробовал повторить те же действия для приватного ключа - не помогло.

Также попрошу не рекомендовать мне в этом вопросе перейти на MacOS и Linux, так как данный вопрос сфокусирован именно Windows, да и по поисковым запросам сюда тоже будут приходить пользователи Windows.


Ответы (1 шт):

Автор решения: Aleksey Vaganov

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

→ Ссылка