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

SSH-сервер не распознает authorized_keys

Я пытался настроить Git через SSH и строго следовал руководствам, которые видел. Я использую ssh-keygen для создания набора ключей, входа на удаленный хост и добавления открытого ключа в .ssh / authorized_users, используя cat id_rsa.pub >> .ssh/authorized_keys. Когда я пытаюсь войти в систему, мне все равно предлагается ввести пароль пользователя (пользователя git).

Я также нашел руководство, в котором показано, как использовать инструмент keygen putty, и следил за ним. Опять ничего. Похоже, что ни один вариант любого учебника, который я нашел, не получает sshd на удаленном хосте, чтобы я мог войти в систему с сгенерированным ключом.

Есть ли способ контролировать это вручную? Я пока застрял на Red Hat Enterprise Linux 4.

Убедитесь, что разрешения верны:

$ chown <user> -R ~<user>/.ssh
$ chmod 700 ~<user>/.ssh
$ chmod 600 ~<user>/.ssh/authorized_keys

Если у вас есть доступ к конфигурации SSHd, вы можете проверить, PubkeyAuthentication установлен на yes чтобы разрешить аутентификацию с открытым ключом. Если PubkeyAuthentication установлен на no вы не сможете войти в систему с вашим открытым ключом, и сервер предложит вам ввести пароль.

Если домашний каталог пользователя имеет права на запись в группе, SSH не разрешит аутентификацию с открытым ключом, потому что в противном случае любой другой член группы мог бы сделать следующее и получить доступ к учетной записи пользователя:

mv .ssh ..ssh
mkdir .ssh
cp ..ssh/* .ssh
echo "myfakekey" >> .ssh/authorized_keys

Я слишком часто вижу домашние каталоги групповой записи. Я зашел так далеко, что создал задание cron для "chmod g-w" каждый домашний адрес один раз в час, когда пользователи отказывались прислушиваться к моим предупреждениям.

Проверьте разрешения в файле authorized_keys - 640 должно быть примерно правильно. SSH может быть (справедливо) разборчивым в отношении разрешений на эти файлы и каталог .ssh, который в худшем случае должен быть 755.

Вы проверяли этот параметр в sshd_config?

PubkeyAuthentication yes

Также проверьте права доступа к .ssh и закрытому ключу .ssh должен быть 700, а ключ 600.

Проверить AuthorizedKeysFile в /etc/ssh/sshd_config. Возможно, это указание на другое место. Сервер auth.log должен сообщить вам причину сбоя аутентификации. root требуется доступ.