Ubuntu на Windows 10-SSH " разрешения xxxx для закрытого ключа слишком открыты

у меня есть .pem файл расположен на локальном диске C " C / private-key.УГР"
И у меня есть мягкая ссылка на нее в подсистеме Ubuntu"~/.ssh / закрытый ключ.Пэм - > в /MNT/с/закрытым ключом.pem"

и когда я пытаюсь shh некоторые удаленные машины из подсистемы Ubuntu, я получил:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for '/home/artur/.ssh/private-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "/home/artur/.ssh/private-key.pem": bad permissions
Permission denied (publickey).

Он был запущен после обновления 1803 для Windows.

Я пытался использовать chmod 400 для ключа на диске C и В.папка / ssh в подсистеме. И пытался установить владельца как раз ко мне и удалить все остальные пользователи из панели безопасности Windows для этого ключа файла. Но я получил "Permissions XXXX for '/home/artur/.ssh/private-key.pem' are too open" or "Permission denied" все время.

может ли любой орган помочь мне и объяснить, как ключи разрешения должны быть настроены на Windows и Ubuntu подсистемы?

23
задан davidbaumann
25.02.2023 4:04 Количество просмотров материала 2515
Распечатать страницу

4 ответа

решение, которое работает для меня в windows WSL (без изменения режима работы с файлами):

sudo ssh -i keyfile <user>@ip
4
отвечен anand 2023-02-26 11:52

Я читаю между строк, и предполагая, что вы используете подсистему Linux в Windows 10. При символической ссылке файла Windows из C:\ в файловой системе Linux в $HOME/.СШ, права на сам файл по-прежнему под управлением Windows и разрешений показана вам в окне Линукс просто лучше представлять разрешения Windows; вы не можете изменить разрешения на файлы Windows в каталог /mnt/C от ОС Linux. это FAQ от Microsoft рассказывает о том, как файлы обрабатывается в двух перекрывающихся файловых системах.

файл, на который вам нужно изменить разрешение, - это файл, на который указывает символическая ссылка, так что это означает файл в /mnt / c

кажется невозможным предоставить пользователю доступ только к файлу Windows. Даже если отключить наследование разрешений для файлов и даст только собственное чтение, разрешения Linux по-прежнему показывают, как -р--р--р--, так что не будет пригодным для .ssh

единственная опция копирование файла из Windows в Linux, в этот момент Вы можете использовать chmod и chown на нем.

2
отвечен simpleuser 2023-02-26 14:09

скопируйте ключ SSH на ваш WSL ~/.ssh каталог, как ключ SSH с чем-либо, кроме 600/400 разрешений компрометирует ключ.

  • после того, как ключ скопирован, убедитесь, что его EOLs были изменены на LF.

  • посмотреть @simpleuser по ответ ниже, чтобы понять, почему разрешения не могут быть изменены с помощью Windows, из которых требует копирования ключа к WSL ~/.ssh каталог

2
отвечен JW0914 2023-02-26 16:26

расширить на ответ выше, как это работает отлично для меня.

Я использую Linux Windows Shell на Windows 10 Pro.

обновление 1803 сломало SSH в оболочке, поскольку в windows нет эквивалента chmod 600.

но вы можете оставить ваш pem без изменений с разрешением файла 777 и запустить

sudo ssh -i  my777Keyfile.pem  ubuntu@12.34.45.78 

и теперь вы войдете прямо в систему. (Не знаю почему правда).

-2
отвечен Chris B 2023-02-26 18:43

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх