Назад | Перейти на главную страницу

Как настроить аутентификацию на основе ключа 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

Что мне не хватает?

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

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

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

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

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

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

Я исправил эту проблему на 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