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

Настройка SSH с открытым ключом для пользователей без полномочий root

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

Вот суть моего файла sshd_config на моем удаленном сервере,

RSAAuthentication yes
PublicKeyAuthentication yes
AuthorizedKeysFile /etc/ssh/user/authorized_keys

PasswordAuthentication no

UsePAM no

PermitRootLogin without-password

Я переместил свой файл авторизованных ключей из дома пользователя в / etc / ssh / user / authorized_keys, когда читал о шифровании домашнего каталога в centos.

Я также изменил владельца всех файлов / каталогов, связанных с пользователем без полномочий root.

Не уверен, какой шаг мне не хватает в моей конфигурации, так как эта же конфигурация очень хорошо работает для удаленного входа в систему root.

Удалите запись authorized_keys в файле конфигурации. Перезагрузите sshd. Создайте каталог .ssh в домашнем каталоге пользователя без полномочий root. Поместите ключ в файл с именем ~ / .ssh / authorized keys. Сделайте каталог 0700 и файл authorized_keys 0644. Сделайте то же самое для пользователя root.

Для ясности: вам нужен файл PUBLIC key (например, ~ / .ssh / id_rsa.pub) с исходного компьютера, чтобы он находился в ~ / .ssh / authorized_keys на конечном компьютере.

Если вы скопируете ~ / .ssh / id_rsa, это не сработает. Современный sshd также будет настаивать на том, чтобы ~ / .ssh был в режиме 700, а ~ / .ssh / authorized_keys был в режиме 600 на целевой машине.

Кроме того: если можете, используйте sudo вместо того, чтобы разрешать вход в систему root через ssh.