Я последовал за этот учебник и аутентификация по ключу отлично работала для root. но когда я создал пользователя xxx и добавил другой ключ в authorized_keys и попытался войти в систему, используя замазку, была показана ошибка «Сервер отказался от нашего ключа». Я изменил .ssh / authorized_keys на / etc / ssh / keys / authorized_keys с chmod 700 для ключей и chomd 600 для authorized_keys, поскольку я нашел несколько ответов в сети по этой проблеме. Я даже ключи менять местами пробовал, ничего не вышло! только root может войти в систему с помощью ключей.
В файле authorized_keys:
ssh-rsa pub***key rsa-key-20140424
ssh-rsa pub***key rsa-key-20140426
В журнале сервера Ничего не отображается о принятой или отклоненной аутентификации пользователя xxx.
Журнал событий Putty
2014-04-26 13:28:02 Reading private key file "C:\mykey.ppk"
2014-04-26 13:28:04 Offered public key
2014-04-26 13:28:04 Server refused our key
ОС сервера : centos 6.5
Похоже, вы пытаетесь добавить ключ пользователя в корневой каталог authorized_keys
файл вместо пользователей authorized_keys
файл.
Просто для уточнения:
Ключ корней должен быть в /root/.ssh/authorized_keys
ключ пользователя должен быть в /home/USERNAME/.ssh/authorized_keys
Можно хранить ключи в / etc / ssh, как вы предложили, но не так, как вы это делаете. Обычно это делается, когда домашний каталог пользователя зашифрован. Для того, чтобы это сработало, необходимо убедиться, что выполнено следующее:
# mkdir /etc/ssh/USERNAME
# chmod 755 /etc/ssh/USERNAME
# chown USERNAME /etc/ssh/USERNAME
# touch /etc/ssh/USERNAME/authorized_keys
# chmod 644 /etc/ssh/USERNAME/authorized_keys
# chown USERNAME /etc/ssh/USERNAME/authorized_keys
# cat /home/USERNAME/.ssh/authorized_keys > /etc/ssh/USERNAME/authorized_keys
# echo "AuthorizedKeysFile /etc/ssh/%u/authorized_keys" >> /etc/ssh/sshd_config
Примечание. Возможно, вы захотите отредактировать файл / etc / ssh / sshd_config вместо того, чтобы просто добавлять его в конец, поскольку возможно, что у вас уже есть AuthorizedKeysFile
устанавливать.