Mam maszynę wirtualną skonfigurowaną z programem Vagrant, na którym działa Postgres (na porcie 5432), przekazana do portu 8280 na maszynie hosta.Nie można połączyć się z Postgresem działającym na maszynie wirtualnej z komputera hosta przy użyciu metody MD5.
Ustawiłem hasło dla domyślnego użytkownika i mogę połączyć się lokalnie po prostu dobrze.
Próbowałem skonfigurować dostęp z komputera hosta przez port 8280, a ja nie byłem w stanie uruchomić go z "MD5" jako metodą zaufania.
mam skonfigurować postgresql.conf
słuchać na wszystkich adresach:
# postgresql.conf
listen_addresses = '*'
i mam skonfigurowane pg_hab.conf
następująco:
# pg_hab.conf
#TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5
Z wszystkich tych ustawień, jeśli uruchomić następujące polecenie mój komputer hosta:
psql --host=127.0.0.1 --port=8280 --username=postgres -d mydb -c '\l'
Zostałem poproszony o assword, a następnie uzyskać:
psql: FATAL: password authentication failed for user "postgres"
Gdybym wtedy zmienić metodę z „md5” do „zaufanie” Nie jestem proszony o podanie hasła i mogę podłączyć zgodnie z oczekiwaniami. Moje pytanie brzmi - dlaczego nie mogę połączyć się przy użyciu "md5", co chcę robić? Wiem, że hasło, które wprowadzam, jest poprawne (zmieniłem je), ale z jakiegoś powodu nie działa.
Dzięki Craig, ale może nie widziałeś w moim ostatnim paragr aph - Już ustawiłem hasło i mogę połączyć się z bazą danych, używając go, więc wiem, że to jest poprawne. –
@ HugoRodger-Brown ... w takim przypadku sprawdzałbym, czy naprawdę łączę się z DB, o którym myślałem. Spróbuj włączyć szczegółowe logowanie gościa i szukanie błędów auth w logach lub użycie tcpdump w gościu i śledzenie ruchu. –