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

Почему ключи SSH работают для пользователей root и freebsd, но не postgres (владельца базы данных)?

Я использовал FreeBSD запуск виртуальной машины на DigitalOcean.com.

я использую Безопасная оболочка (SSH) с моего Mac на удаленный сеанс консоли на виртуальной машине. я использовал ssh-keygen для создания пары ключей шифрования.

Я развернул публичный, скопированный на SSH-сервер FreeBSD. Я сделал это через заднюю веб-страницу, предоставленную Digital Ocean, вставив текстовое содержимое открытого ключа в текстовое поле формы.

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

ssh root@192.0.2.10

…или…

ssh freebsd@192.0.2.10

Затем я установил Postgres систему базы данных на этом сервере FreeBSD. В рамках сценариев, используемых для сборки и установки Postgres, к машине FreeBSD добавляется третья учетная запись пользователя. По соглашению новая учетная запись называется postgres. Я дал этому пользователю пароль, используя passwd утилита.

Когда я подключаюсь к серверу FreeBSD от имени этого пользователя:

ssh postgres@192.0.2.10

Меня это подсказывает postgres собственный пароль пользователя. я не запросил пароль, защищающий мой локальный закрытый ключ шифрования.

➥ Почему postgres пользователь обращался иначе, чем root & freebsd Что касается использования публичных / приватных ключей SSH для входа в систему?

FYI, я никогда не трогал authorized_keys файл на удаленном SSH-сервере (моя FreeBSD VM).

Мой вопрос может быть дубликатом Публичные ключи SSH не работают для всех пользователей на одном сервере, Я не уверен.

Добавьте свой открытый ключ в файл авторизованных ключей пользователей postgresql. Этого не происходит на этапе инициализации вашего экземпляра, как с пользователем root и freebsd (облачные провайдеры используют сценарии, которые выполняют такие действия, как развертывание ключей ssh ​​для набора предопределенных пользователей). Это может быть то же самое, что и открытый ключ freebsd, или вы можете использовать для этой цели другую пару ключей.