psql соединение с AWS PostgreSQL 10.4 приводит к сбою аутентификации pw? - PullRequest
0 голосов
/ 22 ноября 2018

Вопрос

Я установил базу данных AWS RDS PostgreSQL 10.4.Набор данных находится в частной сети, поэтому я использую бастион для переадресации на него соединения.Затем я могу подключиться, используя Postico, но не используя psql.

Подробности

Я установил PostgreSQL локально, используя brew install postgres.Вывод команды (а для экземпляра AWS см. Обновление):

❯ psql --version
psql (PostgreSQL) 10.5

Затем я использую следующую команду SSH для туннелирования:

ssh -q -o "ConnectTimeout 3" -o "StrictHostKeyChecking no" -o "UserKnownHostsFile /dev/null" -i bastion-key.pem -L 5432:xxxxxx.xxxxx.eu-central-1.rds.amazonaws.com:5432 ec2-user@xx.xx.xx.xx -N

Затем я подключаюсь с помощью Postico .. всеотлично!

И последнее, но не менее важное: я пытаюсь подключиться с помощью следующей команды:

❯ psql \
   --host=127.0.0.1 \
   --port=5432 \
   --username=USERNAME \
   --password \
   --dbname=DBNAME
Password for user USERNAME:
psql: FATAL:  password authentication failed for user "USERNAME"
FATAL:  password authentication failed for user "USERNAME"

Я использую MacOS High Sierra Версия 10.13.6 Macbook 13 ".

Обновление 2018-12-05:

Пробовал также из образа Amazon, работающего Amazon Linux release 2 (Karoo) Тот же результат с PSQL 9, как и версия 10. Версия 10 была установлена ​​после this рекомендация.

1 Ответ

0 голосов
/ 06 декабря 2018

Решено, все еще очень дерьмовая проблема!

Я сгенерировал свои пароли PostgreSQL, используя secrets.token_urlsafe(90) метод Python3, что привело к появлению строк, включающих [_-], которые psql не смог обработать.

Использование secrets.choice(string.ascii_uppercase) 1 с правильным выбором решило проблему!

Короче говоря: используйте только символы и цифры в качестве пароля, и у вас не возникнет проблем!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...