LINUX.ORG.RU

Можно ли выдать ssh ключик для не-root пользователя?

 ,


0

1

От имени пользователя user сгенерировал ключик на сервере, в конце ключика автоматически добавилось user@domain. Однако, при попытке зайти через ssh от имени этого пользователя, получаю ошибку доступа Permission denied (publickey). root под тем же ключиком заходит нормально.

В конфиге sshd прописан AllowUsers user root

Подскажите, пожалуйста, как быть?



Последнее исправление: Zettabyte (всего исправлений: 1)

в конце ключика автоматически добавилось user@domain

Это просто комментарий, там хоть «продам гараж» можно писать.

root под тем же ключиком заходит нормально

root использует тот же приватный ключ и подключается по ssh по имени этого пользователя или у вас одинаковая публичная часть и для рута, и для юзера используется?

Вообще начните с проверки прав на каталог где лежит ключ (700 должно быть, владелец - тот кто подключается) и на сам ключ (600, владелец аналогично). Если все ОК - подключайтесь с ключем -vv (ssh -vv ...) и смотрите почему он ключ не видит, плюс смотрите логи аудита на том хосте, куда подключаетесь.

micronekodesu ★★★
()

сгенерировал ключик на сервере

Не правильно ты Дядя Фёдор бетерброд ешь.

Ключи генеряться на клиетне. На сервер выкладывается только публичная часть ключа.

автоматически добавилось

Это всего лишь комментарий. Других функций не несёт.

зайти/не заходит

От куда куда? Т.к. действия происходят на дальнем серьвере, не пользуешься ты этим ключом от слова совсем.

beastie ★★★★★
()

Эмм…

Мне кажется, автор просто забыл сделать

cat id_rsa.pub >> ~user/.ssh/authorized_keys

на сервере

dmiceman ★★★★★
()
Ответ на: комментарий от beastie

«От куда куда? Т.к. действия происходят на дальнем серьвере, не пользуешься ты этим ключом от слова совсем.»

Захожу со своего локального компьютера на удаленный сервер. Сгенерировал приватный и публичный ключ на сервере(какая, в принципе, разница-то, нет?), приватный достал себе на локальный компьютер, публичный добавил в authorized keys.

Проблема в том, что когда я пишу команду «ssh root@domain», то все работает отлично. А когда хочу «ssh user@domain» получаю в ответ «Permission denied(publickey)»

Zettabyte
() автор топика
Ответ на: комментарий от micronekodesu

У root мои ключи, они работают на всех моих машинах.

На этом конкретном сервере, я хотел завести отдельный ключик для пользователя, чтобы тот прав root не имел. Сгенерировал новый ключик, но по этому, новому же, ключу, соединяется только рут. Возможно вообще разрешить по определенному ключу подключать только определенного пользователя?

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

Я полагаю, ошибся я именно в этом?

Zettabyte
() автор топика
Ответ на: комментарий от thesis

О, первый свой главный косяк я понял. Хорошо, новый .ssh/authorized_keys я создал в папке пользователя, вписал туда публичный ключик, выставил на него и директорию разрешения 0700, хозяином сделал user и usergroup соответственно.

Ошибка осталось той же. =(

Zettabyte
() автор топика
Ответ на: комментарий от man_of_motley

Вот только сейчас понял косяк и создал в домашней папке пользователя user файл /.ssh/autroized_keys, выставил на него права 0700 и владельца user.

Ничего не изменилось, ошибка та же...

Zettabyte
() автор топика
Ответ на: комментарий от Zettabyte

ну тут уже нелишним будет логи посмотреть. возможно, выкрутив LogLevel в /etc/ssh/sshd_config и перезапустив sshd.

dmiceman ★★★★★
()

Создал файл ./ssh/authorized_keys в домашней директории user, выдал на нее права, засунул туда ключик и все поехало.

Всем большое спасибо!

Zettabyte
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.