programing

'사용자 "postgres"에 대한 암호 인증에 실패

bestprogram 2023. 5. 7. 12:05

'사용자 "postgres"에 대한 암호 인증에 실패

Postgre를 설치했습니다.SQL 8.4, Postgres 클라이언트 및 Pgadmin 3.콘솔 클라이언트와 Pgadmin 모두에 대한 사용자 "postgres" 인증에 실패했습니다.저는 사용자를 "postgres"로 입력하고 비밀번호 "postgres"로 입력했습니다. 이전에는 작동했기 때문입니다.그러나 이제 인증이 실패했습니다.저는 이 문제 없이 몇 번 전에 그것을 했습니다.어떻게 해야 하나?그리고 무슨 일이 일어나나요?

psql -U postgres -h localhost -W
Password for user postgres: 
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

내 기억이 맞다면 사용자는postgres에서는 기본적으로 Ubuntu에 DB 암호가 설정되어 있지 않습니다.즉, 다음 계정을 사용해야만 해당 계정에 로그인할 수 있습니다.postgres OS 사용자 계정.

당신이 가지고 있다고 가정하면,root상자에서 수행할 수 있는 액세스:

sudo -u postgres psql

이 작업이 실패할 경우database "postgres" does not exists 또는 이 오류, 그러 Ubuntu 또서버에없을높습다가니 :-)를 추가합니다.template1다음 명령으로:

sudo -u postgres psql template1

중 이한명 중하 오도 인실 패는 하경 우해로류psql: FATAL: password authentication failed for user "postgres"그런 다음 파일을 확인합니다./etc/postgresql/8.4/main/pg_hba.conf행으로 합니다.

local   all         postgres                          ident

최신 의 경우 SQLident은 실로는일 .peer그것도 괜찮습니다.

내부psqlDB 사용자에게 줄 수 있는 셸 postgres 암호:

ALTER USER postgres PASSWORD 'newPassword';

당신은 떠날 수 있습니다.psql입력하거나 명령을 사용하여 셸\q.

이제 당신은 pgAdmin에게 DB 슈퍼유저에 대한 유효한 암호를 제공할 수 있을 것이고 그것도 행복할 것입니다. :-)

직원의 반응은 올바르지만, 추가 자동화를 원할 경우 다음과 같은 작업을 수행할 수 있습니다.

$ sudo -u postgres psql -c "ALTER USER postgres PASSWORD 'postgres';"

완료! 사용자 = postgres 및 암호 = postgres를 저장했습니다.

User postgres ubbuntu에 대한 암호가 없는 경우 다음을 수행합니다.

$ sudo passwd postgres

위의 답변 대부분은 맞지만 pg_hba.conf 파일의 변경 사항이 적용되기 전에 데이터베이스 서비스를 다시 시작해야 한다는 점은 언급하지 않습니다.

위에서 언급한 대로 변경하면 다음과 같습니다.

local all postgres ident

그런 다음 루트로 다시 시작합니다(서비스 서비스 postgresql-9.2 다시 시작과 같은 것이 centos에 있습니다). 이제 사용자가 게시할 때 DB에 액세스할 수 있어야 합니다.

$psql
psql (9.2.4)
Type "help" for help.

postgres=# 

이것이 새로운 포스트그레스 사용자를 위한 정보를 추가하기를 바랍니다.

파일을 합니다./etc/postgresql/9.3/main/pg_hba.conf Hat/IBM의 Red Hat/IBM 모델의 /var/lib/pgsql/9.4/data/pg_hba.conf

  • 을 "모든인증방법다변음로경니다합으을변다니"로 변경합니다.trust.
  • »postgres사용자의
  • 서버를 다시 시작합니다.
  • 로인방법그로 psql -h localhost -U postgres설정된 Unix 암호를 사용합니다.
  • ▁theset를 다시 설정해야 합니다.pg_hba.conf을 값매기로 md5또는ident메서드 및 다시 시작합니다.

처음 사용하고 암호에 대한 정보가 없는 사용자는 다음 단계를 수행할 수 있습니다(Ubuntu에 있다고 가정).

  1. pg_hba.confin 파일을 엽니다./etc/postgresql/9.x/main

     sudo vi pg_hba.conf 
    

    2.아래 줄을 편집합니다.

     local   all             postgres                                peer
    

    로.

     local   all             postgres                                trust
    
  2. 서버 다시 시작

      sudo service postgresql restart
    
  3. 마지막으로 그림과마지막으로 그림과 같이 암호 없이 로그인할 수 있습니다. 같이 암호 없이 로그인할 수 있습니다.

자세한 내용은 여기를 참조하십시오.

postgresql을 설치할 때 사용자 postgres에 대한 암호가 설정되지 않은 경우 다음 명령을 사용하여 UNIX에서 암호를 명시적으로 설정해야 합니다.

sudo passwd postgres

sudo 비밀번호를 물어본 다음 새 postgres 사용자 비밀번호를 입력하라는 메시지가 나타납니다.출처

-W 매개 변수를 사용하지 않고 암호를 비워 두십시오.때때로 사용자는 비밀번호 없이 작성됩니다.

그래도 작동하지 않으면 암호를 재설정합니다.여러 가지 방법이 있지만 여러 시스템에서 작동합니다.

$ su root
$ su postgres
$ psql -h localhost
> ALTER USER postgres with password 'YourNewPassword';

경험에 비추어 볼 때, 당신은 절대로 우편물 사용자에게 비밀번호를 설정해서는 안 됩니다.

pgAdmin의 슈퍼유저 액세스가 필요한 경우 다른 슈퍼유저를 만듭니다.이렇게 하면 해당 슈퍼 사용자의 자격 증명이 손상된 경우 언제든지 실제 데이터베이스 호스트에 SSH하고 다음을 사용하여 슈퍼 사용자를 수동으로 삭제할 수 있습니다.

sudo -u postgres -c "DROP ROLE superuser;"

postgres 셸에 들어가면 이 명령을 입력합니다.

postgres=# \password postgres

이 명령을 입력한 후 암호를 설정하라는 메시지가 표시되면 암호를 설정한 다음 시도하십시오.

postgres 사용자로 postgres 셸에 로그인하려는 경우 다음 명령을 사용할 수 있습니다.

postgres 사용자로 전환

# su - postgres

psql에 로그인

# psql

도움이 되길 바랍니다.

다시 ).postgresport 파일 (Ubuntu 파일 /etc/postgresql/9.5/main/postgresql.conf 파일).포트 5432를 하지만, 5433.psql에서 . -p 옵션은 psql로 지정합니다).psql --host=localhost --username=user -p 5433 mydatabase).

매개 변수를 되는데, 제했지만 제 앱(은 작동하지 않았습니다. --host 매개 은 psql소 켓 연 제 되 경 결 를 TCP / IP 제 사 앱 Golang 은불하게도, 메류지는입니다.password authentication failed for user "user"오해의 소지가 있었습니다. 연결 문자열( 이는포트와 URL 연열사예것이는습니다었하용을자문)을 사용하는 이었습니다.postgres://user:password@localhost:5433/mydatabase).

제 설정은 디지털 오션에서 Ubuntu 18.04였고, apt-get을 통해 포스트그레스 9.5가 설치되어 있었는데, 왜 이런 일이 일어났는지 잘 모르겠습니다.시간이 좀 절약되기를 바랍니다.

Windows 10에서도 동일한 오류가 발생했습니다.저의 경우, Postgres를 설정할 때, 제 사용자 이름은 기본적으로 Postgres였습니다.하지만 내가 명령을 실행했을 때psql그것은 내 기계 이름지텐더로서의 사용자 이름을 보여주는 것이고, 나는 왜 이 사용자 이름이 설정되었는지 모릅니다.

어쨌든 해결하기 위해 다음 단계를 수행했습니다.을 합니다.psql --help

  • 출력에서 연결 옵션을 찾으십시오. 여기에는 기본 사용자(제 경우에는 지텐더)가 표시됩니다.
  • 또한 다른 사용자 이름(psql --username postgres)을 설정하는 명령도 받습니다.사용자 이름을 원하는 대로 설정하면 문제가 해결됩니다.

오류가 표시되는 경우

FATAL:  password authentication failed for user "postgres"

암호가 올바른지 확인한 후 암호에 특수 문자(특히 "%" 또는 슬래시)가 있는지 확인합니다.저의 경우, 비밀번호 문자열에 "%"가 있습니다.이 기호를 제거한 후에는 모든 것이 정상적으로 작동합니다.

다음 단계를 수행합니다.

  1. sudo-u postgres -i
  2. psql
  3. \password postgres

그런 다음 암호를 두 번 입력합니다.

그런 다음 pgAdmin4에서 해당 암호를 사용합니다.

다음은 로그인을 시도한 몇 가지 조합입니다.

# login via user foo
psql -Ufoo -h localhost

sudo -u postgres psql postgres

# user foo login to postgres db
psql -Ufoo -h localhost -d postgres

시간 참 빠르네요!

버전 12에서는 "ident" 대신 "password"를 사용해야 합니다.

local   all             postgres                                password

-h 옵션을 사용하지 않고 연결합니다.

첫 번째 모든 암호 상자

ALTER USER postgres with encrypted password 'postgres';

그런 다음 서비스 다시 시작:

sudo systemctl restart postgresql.service

끝.

저는 또한 게시물에 로그인하는 동안 이 문제에 직면했습니다.저는 아래 단계를 따라 postgres와 pgadmin으로 로그인할 수 있었습니다.

1단계: 터미널을 사용하여 Postgres를 엽니다.

sudo su postgres

2단계: psql을 엽니다.

psql

3단계: 사용자의 암호 재설정

ALTER USER user_name WITH PASSWORD 'new_password';

4단계: 데이터베이스에 대한 권한을 사용자에게 부여합니다.

GRANT ALL PRIVILEGES ON DATABASE my_database TO db_user;

저는 당신의 비밀번호가 만료되었는지 당신도 확인해야 한다는 것을 덧붙이고 싶었습니다.

자세한 내용은 Postgres 암호 인증 실패를 참조하십시오.

제 경우 Ubuntu 20.04 Postgresql 12가 잘못된 포트를 사용하고 있었습니다.

가 확인했습니다/etc/postgresql/12/main/postgresql.conf그리고 그것이 사실이라는 것을 깨달았습니다.54335432.

답은 @diego입니다.

는 제가 를 고쳤는지에 다른 : 오류를수정한방다도사되바움다기랍를니이게에들람른고추하가을명설한대.ERROR: password authentication failed for user "postgres"

  1. 온 윈도우

  • Postgres 소프트웨어를 다운로드하여 설치하고 암호를 만들고 확인한 후 일부 기호와 문자로 인해 복잡하지 않은지 확인하십시오.

  • 창을 열고 SQL Shell(PSQL)을 클릭한 후 액세스하여 데이터베이스 생성

  • 같연 문자만들기와 같은 연결 .postgres://postgres:your_password@localhost:port/your_database

  1. WSL에서

Microsoft 설명서를 따릅니다.

설치 성공 후

 // Open postgres
 su postgres
 
 // Type psql and hit enter
 psql

 // Create a user postgres if not exist or any other user you want 
 CREATE USER your_user_db WITH PASSWORD 'match_password_with_db_password';
 

 // Give user password same as the one you set up for postgres db
 ALTER USER your_user_db WITH PASSWORD 'match_password_with_db_password';

 // Restart the server
 sudo service postgresql restart

저도 비슷한 문제가 있었습니다.Ubuntu는 슈퍼 유저를 위한 비밀번호를 가지고 콘솔에 로그인하도록 남겨졌습니다.psql line 명령에서 -h localhost로 연결한 경우는 제외합니다.

"localhost:8080/MyJSPSiteLogIn"이 "사용자"와 함께 Fatal: authentication error"로 표시되는 것도 관찰했습니다.

pg_pg.conf는 정상이었습니다.

동일한 서비스에서 두 버전의 게시물이 실행되고 있음을 확인했습니다.

해결됨 - 유틸리티 버전을 제거합니다.

저도 비슷한 문제에 직면한 적이 있습니다.데이터베이스에 액세스하는 동안 PGAdmin에서 "사용자 "postgres"에 대한 암호 인증 실패"를 업데이트한 후 아래와 같은 메시지가 표시되었습니다.


솔루션:

  1. postgres 서버 종료
  2. pgadmin 다시 실행
  3. pgadmin이 암호를 요청할 것입니다.
  4. 언급된 사용자의 현재 암호를 입력하십시오.

문제가 해결되기를 바랍니다.

여기에 이미지 설명 입력

이 문제는 캐싱 때문에 발생합니다.

phpartisan config:cache를 실행하면 구성 파일이 캐시됩니다.상황이 변경될 때마다 캐시 파일을 업데이트하기 위해 계속 실행해야 합니다.그러나 해당 명령을 실행하지 않으면 캐시되지 않습니다.

구성이 자주 변경되지 않기 때문에 프로덕션에서는 이것이 괜찮습니다.그러나 스테이징 또는 개발 중에 캐시를 지우고 캐시 명령을 실행하지 않음으로써 캐시를 비활성화할 수 있습니다.

따라서 phpartisan config:clear만 실행하고 캐시를 피하기 위해 이전에 명령을 실행하지 마십시오.

원본 게시물 확인

Lavel 마이그레이션을 실행할 때 암호 인증 실패 오류가 발생했습니다.

저의 경우, 비밀번호가 100자를 넘었습니다.더 작은 문자 암호로 설정하는 것이 작동했습니다.

사실 저는 그것에 대한 언급이 어디에 있는지 궁금합니다.

가지 의 Postgres가 하십시오. 두지버가 Postgres설치되어있합다니다면야제그를 통해 한 가지 했습니다. MacOS의 경우 한 가지 버전을 설치했습니다..dmg그리고 하나는 경유.brew.

제게 효과가 있었던 것은 다음을 통해 설치된 것을 제거하는 것이었습니다..dmg

  1. 에 가다/Library/PostgreSQL/13.
  2. uninstall-postgres.app을 엽니다.

그럼 시도해 보세요

psql postgres

그건 작동할 거야.

주어진 답은 거의 정확합니다. 단지 제가 해결책에서 다룰 몇 가지 포인터를 놓쳤을 뿐입니다.

먼저 사용자에게 sudo 액세스 권한이 있는지 확인하십시오. 그렇지 않은 경우 아래 명령을 사용하여 사용자를 sudo 사용자로 추가할 수 있습니다.

sudo adduser <username> sudo

변경 사항은 다음 번에 사용자가 로그인할 때 적용됩니다.

이제 다음으로 이동sudo vim /etc/postgresql/<your_postgres_version>/main/pg_hba.conf파일을 작성하고 다음과 같은 줄을 찾습니다.

local   all             postgres                                md5 #peer

댓글 달아주세요.그 선 바로 아래에는 다음과 같은 주석이 달린 선이 있어야 합니다.

local   all             postgres                                peer

또는 이전 버전의 경우 다음과 같습니다.

local   all         postgres                          ident

그 선의 주석을 제거합니다.

ii) 이제 다음 명령 중 하나를 사용하여 postgres를 다시 시작합니다.

sudo /etc/init.d/postgresql restart

OR

sudo service postgresql restart

iii) 이제 다음 명령을 사용하여 postgres에 간단히 로그인할 수 있습니다.

sudo -u postgres psql

iv) 일단 당신이 들어가면 당신이 원하는 모든 작업을 만들 수 있습니다. 나는 새로운 데이터베이스를 만들고 싶었습니다. 당신은 아래 명령을 사용하여 동일한 작업을 할 수 있습니다.

CREATE DATABASE airflow_replica;

나의 경우는 매우 간단했습니다!데이터베이스 슈퍼 사용자를 기억해야 하기 때문에 JAVA Spring 응용 프로그램에서 오류가 발생했습니다. 설치 과정에서 Postgre가 표시됩니다.SQL의 경우 데이터 소스는 postgres입니다.그래서, 제가 이름을 정확하게 추가했고 그것은 작동합니다!

  1. 텍스트 편집기에서 pg_hba.conf를 엽니다(이 파일은 포스트그레스 설치 폴더에서 찾을있습니다).
  2. 모든 메서드 필드를 신뢰할 수 있도록 변경합니다(postgre에 암호가 필요하지 않음).
  3. 콘솔에서 다음 명령을 실행합니다. "비밀번호 '[mypassword]'로 사용자 게시글 변경| psql -U postgres (파라미터 -U postgres로 사용자의 [내 비밀번호]대한 일부 사용자 비밀번호를 변경하는 것을 의미)
  4. Etvoila (당신에게 가장 좋을 방법에 대한 신뢰에서 방법을 다시 변경하는 것을 잊지 마십시오.)

언젠가 이것이 누군가에게 도움이 되길 바랍니다.

이것이 당신에게 시간이 부족하기를 바랍니다.postgres sql의 비밀번호는 bellow 명령을 사용하여 변경할 수 있습니다.

명령

sudo -u postgres psql

그런 다음 암호를 업데이트할 수 있습니다.

명령

사용자 postgres 암호 'YOUR_NEW_PASSWORD' 변경;

언급URL : https://stackoverflow.com/questions/7695962/password-authentication-failed-for-user-postgres