Mercurial-server на CentOS 6.2: как правильно настроить sshd?

Добрый день, Хабражители!

Ставлю и настраиваю Mercurial-server на Centos 6.2 по следующим мануалам: хабр и чей-то блог.

Все встало отлично, работает. Но есть один нюанс с настройкой SSH по ключам. После добавления ключа пользователя в репозиторий hgadmin и выполнения refresh-auth обновляется файл /var/lib/mercurial-server/.ssh/authorized_keys.

Копирую этот файл для sshd:
cp /var/lib/mercurial-server/.ssh/authorized_keys /etc/ssh/keys/hg.pub

И пишу в sshd_config:
PubkeyAuthentication yes
AuthorizedKeysFile /etc/ssh/keys/%u.pub

В данном случае все работает нормально.

НО! Проблемы начинаются, если я делаю мягкую ссылку на ключи вместо их копирования (ведь согласитесь, не хочется каждый раз при обновлении файла authorized_keys копировать его руками):
ln -s /var/lib/mercurial-server/.ssh/authorized_keys /etc/ssh/keys/hg.pub

В этом случае при попытке обращения к репозиторию появляется «server refused our key». В логах ssh вижу, что он пытается читать файл /etc/ssh/keys/hg.pub, но не находит в нем ни одной записи.

Важно: даже если в sshd_config пишу один из этих вариантов:
AuthorizedKeysFile /var/lib/mercurial-server/.ssh/authorized_keys
AuthorizedKeysFile ~/.ssh/authorized_keys
AuthorizedKeysFile /etc/ssh/keys/hg.pub

Все равно нет успеха. То есть файл с ключами, лежащий в домашней папке пользователя hg, не читается.
Ключи, лежащие в домашних директориях других пользователей читаются и работают нормально.

Приму любые советы)
  • Вопрос задан
  • 6371 просмотр
Решения вопроса 1
diger_74
@diger_74 Автор вопроса
Ответ оказался прост — SELinux блокировал доступ демону sshd к файлу /var/lib/mercurial-server/.ssh/authorized_keys.

Надо добавить соответствующий лэйбл и все начинает работать:
chcon -v --type=ssh_home_t /var/lib/mercurial-server/.ssh/authorized_keys
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
deleted-mifki
@deleted-mifki
Проверить права доступа. И уж точно ~ не должно использоваться.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы