Как настроить аутентификацию на основе ключей SSH в openssh, работающем на Cygwin?

Как настроить аутентификацию на основе ключей SSH в openssh, работающем на Cygwin?

Мне удалось установить и настроить openssh на cygwin, и он работает нормально, но есть одна проблема: я не могу использовать аутентификацию с закрытым/открытым ключом, она просто не работает.

Я выполнил те же действия, что и в Linux, добавив свой ключ, ~/.ssh/authorized_Keysно он его не подхватил.

Я также проверил /var/log/sshd.log, но он пуст и имеет следующие права:

-rw-r--r-- 1 cyg_server    None      0 Aug 21 12:53 sshd.log

drwx------+ 1 Administrator None    0 Aug 21 12:57 .ssh

-rw-r--r--  1 Administrator None  395 Aug 21 12:57 authorized_hosts

Что я упускаю?

решение1

Если имя файла на самом деле ~/.ssh/authorized_Keys, то вам нужно сделать букву K в имени файла строчной.

Если это не то, попробуйте сделать это ssh -vс системой. Это должно дать вам больше информации.

решение2

Это может быть вызвано тем, что переменная среды HOME не установлена. Каков результат echo $HOME? В какой полный путь ~/.ssh/authorized_Keysна самом деле разрешается?

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

И последнее, похоже, есть какие-то странные проблемы с правами доступа в cygwin. Попробуйте установить права доступа 600 (не 700) для каталога .ssh и его содержимого. Если это не сработает, я нашел несколькостарый пост в списке рассылки cygwinгде владельцем каталога .ssh и всех файлов внутри по какой-то причине должен был быть SYSTEM.SYSTEM.

Если все это не работает, проверьте журнал событий Windows. Я полагаю, что по умолчанию sshd cygwin регистрируется там, а не в sshd.log(хотя я не знаю, зачем он создает файл журнала в этом случае).

решение3

Я исправил эту проблему, Windows 10 1909проверив журнал Event Viewer -> Windows Logs -> Application -> sshd(Source column)и установив владельца и разрешения для home, .ssh and authorized_keysфайлов, как показано ниже.

chown Gowtham:none ~/
chmod g-w ~/
chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

Связанный контент