Беспарольный доступ по ssh для пользователя Postgres?
OC Centos 7.3.1611. Установлен пакет postgresql-server. Необходим беспарольный доступ для пользователя postgres с одного хоста на другой хост. Доступ не в БД, а в саму систему.
Проделаны следующие действия
1) passwd postgres
2) su postgres
3) ssh-keygen
4) ssh-copy-id - на этом этапе запрашивается пароль из пункта 1
Аналогично на втором хосте. Беспарольный доступ не настроился. id_rsa.pub и authorized_keys совпадают.
Права на файлы и папки:
1) ~/.ssh 0700
2) ~/.ssh/authorized_keys 0600
При подключении запрашивает пароль.
Может кто-то занимался подобной проблемой, прошу совета.
Ты все сделал не так)
1. Идешь в psql.
2. SHOW hba_file;
3. Гуглишь и читаешь про pg hba
4. Правильно настраиваешь доступы (trust) и рестартишь сервис.
5. ...
6. profit!!!
Если ты имел в виду что нужно шифрование, то особо внимательно читаешь раздел про hostssl
Если ты про то что пароль продолжает спрашивать после ssh-copy-id, то ты забыл разрешить аутентефикацию по ключу и запретить по паролю. Советую сначала разрешить по ключу, проверить, а потом уже запрещать по паролю.
Настройки лежат в /etc/ssh/sshd_config
нужные тебе ключи
PasswordAuthentication
PubkeyAuthentication
Ну и если это все нужно для скрипта можно использовать sshpass например.
ololo pishpish: да вот это все уже нагуглено и попробовано было. Если создать пользователя, и выполнить аналогичные настройки, все работает. Почему то пролема с пользователем postgres.
test_123: Потому что это дефолтный супер пользователь БД. Для того чтобы всякие мамкины хакеры не пытались подбирать пароль к нему видя открытый порт сервера БД ему по дефолту залочен логин (что ты успешно снес командой passwd postgres). Теперь стоит вернуть все как было usermod -L postgres.