Рейтинг:0

Проблема с SSH-подключением: как изменить права доступа к папке/файлу в Windows аналогично Linux?

флаг vg

Мне трудно подключить свой локальный компьютер через SSH к другому удаленному компьютеру. Я установил открытый ключ на обеих машинах в папке author_keys, следуя этому руководству: https://help.ubuntu.com/community/SSH/OpenSSH/Ключи но я получаю

разрешение отклонено (интерактивная доска, открытый ключ)

тип ошибки. Я читал, что возможным решением может быть: /home/<пользователь> или ~/.ssh/authorized_keys разрешения слишком открыты по стандартам OpenSSH. Вы можете избавиться от этой проблемы, введя следующие команды для изменения прав доступа к файлам/папкам, как в Linux:

chmod go-w ~/
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

Мой вопрос, как изменить точно так же, как упомянутые разрешения, для соответствующих папок в Windows?

Спасибо ! ОБНОВЛЕНИЕ: вот сторона сервера журналов:

Не удалось открыть файл: C:/ProgramData/ssh/administrators_authorized_keys ошибка: 2
5036 2021-10-18 11:16:06.413 debug1: не удалось открыть авторизованные ключи '__PROGRAMDATA__/ssh/administrators_authorized_keys': нет такого файла или каталога
vidarlo avatar
флаг ar
Проверьте журналы сервера, *почему*.
Patrick Schulz avatar
флаг vg
@vidarlo, где посмотреть журнал на сервере? в какую папку и файл смотреть?
vidarlo avatar
флаг ar
https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration содержит информацию о пути журнала.
Patrick Schulz avatar
флаг vg
ОК, спасибо, но он говорит: «Если пользователь принадлежит к группе администраторов, вместо этого используется %programdata%/ssh/administrators_authorized_keys».
Patrick Schulz avatar
флаг vg
@vidarlo проверьте мое обновление для журналов!
vidarlo avatar
флаг ar
Пишет неверный пользователь. Пользователь существует?
Patrick Schulz avatar
флаг vg
Нет, извините, проверьте мое новое обновление, оно касается доступа к открытым ключам на стороне сервера, проблемы с разрешениями (я решил проблему пользователя!)
vidarlo avatar
флаг ar
Пишет "Нет такого файла или каталога".
Patrick Schulz avatar
флаг vg
Я знаю, что это говорит, но почему? соединение ssh работает, но через другой программный процесс возвращает эту ошибку
vidarlo avatar
флаг ar
Давайте [продолжим это обсуждение в чате](https://chat.stackexchange.com/rooms/130610/discussion-between-vidarlo-and-patrick-schulz).
Рейтинг:1
флаг us

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

Вместо того, чтобы пытаться решить, пожалуйста, исследуйте причину вашей проблемы.
Проверьте, например, ведение журнала ssh-сервера для сообщений об ошибках и используйте их, чтобы найти подходящее решение.

Если права доступа к файлам на вашем $env:ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ\.ssh\authorized_keys файл действительно является проблемой: действительно быстрый поиск нашел, например https://stackoverflow.com/a/50502015 в котором подробно описано, как настроить ssh с аутентификацией с открытым ключом на хосте Windows.

Настройте права доступа правильно (важно!!!):

  1. Бег Начало . чтобы открыть проводник с текущей папкой ($env:ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ\.ssh);
  2. Щелкните правой кнопкой мыши авторизованные_ключи, перейти к Свойства -> Безопасность -> Дополнительно
  3. Нажмите «Отключить наследование»;
  4. При появлении запроса выберите «Преобразовать унаследованные разрешения в явные разрешения для этого объекта»;
  5. (действительно, очень важно) Удалите все права доступа к файлу, кроме СИСТЕМА и сам. Должно быть ровно два записи разрешений в файле. Некоторые руководства предлагают запустить Repair-AuthorizedKeyPermission $env:USERPROFILE\.ssh\authorized_keys
  • это попытается добавить sshd пользователя в список разрешений, и он будет сломать аутентификацию, поэтому не делайте этого или, по крайней мере, не соглашайтесь на добавление sshd пользователь). Обе СИСТЕМА а ты сам должен иметь полный контроль над файлом.

Также см: https://github.com/PowerShell/Win32-OpenSSH/wiki/Защита-безопасности-различных-файлов-в-Win32-OpenSSH

Patrick Schulz avatar
флаг vg
Благодарность ! где посмотреть логи на сервере? в какую папку и файл смотреть?
Patrick Schulz avatar
флаг vg
также я помещаю открытый ключ, вставленный в файл __PROGRAMDATA__/ssh/administrators_authorized_keys, потому что клиент является администратором (это согласно руководству), но это кажется неправильным в соответствии с сообщением SO, на которое вы ссылались в своем ответе.
флаг us
Это зависит от версии: см. https://github.com/PowerShell/Win32-OpenSSH/wiki/Logging-Facilities.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.