htpasswd를 사용해서 HTTP 기본 인증을 받는 사이트 혹은 URL을 만든 경우, 아이디와 패스워드를 스크립트에 삽입해서 인증하는 방법을 알아보고, 실습을 통해 쉽게 사용할 수 있습니다.
![]() |
HTTP htpasswd 인증 실패 |
htpasswd를 사용해서 HTTP 기본 인증을 받는 사이트 혹은 URL을 만든 경우, 아이디와 패스워드를 스크립트에 삽입해서 인증하는 방법을 알아보고, 실습을 통해 쉽게 사용할 수 있습니다.
웹 브라우저에서 htpasswd 계정과 비밀번호를 사전에 입력해서 로그인하고, wget와 curl 을 사용해서 파일을 다운로드하는 방법을 알아보겠습니다.
실습 환경
- 운영 체제 : CentOS 8
- 실행 계정 : root
- HTTP 기본 인증이 설정 된 웹 서버에서 계정 및 비밀번호를 test로 설정함
사전 작업 참조하기
"NGINX에서 HTTP 기본 인증을 통한 접속 제한 설정하기" 글로 이동하기웹 브라우저 URL에서 자격 증명을 사용하여 로그인하기
웹 브라우저에서 htpasswd 가 설정된 디렉터리나 URL 접속 시 사용자 계정과 비밀번호의 입력을 요청받게 됩니다.
예전 파이어폭스와 크롬 브라우저에서는 URL에 htpasswd 계정과 비밀번호를 담아서 아래와 같이 요청 시 인증 요청 없이 로그인이 되었습니다.
[https://username:password@www.example.com/admin/]
- [message]
- ##info-circle## 크롬에서 사용 불가!
- 하지만 현재 크롬에서는 보안상의 이유로 username:password@URL 의 일부가 제거되어, 로그인 인증 팝업창을 보여줍니다. 파이어폭스에서는 사이트에 실제로 인증이 필요한지 확인하는 팝업창을 보여주고 확인 메뉴 선택 시 로그인이 됩니다.
리눅스와 윈도우에서 htpasswd 자동 인증하기
리눅스와 윈도우에서 wget과 curl을 설치 시 아래와 같이 URL에 htpasswd 로그인 정보를 보내서 인증 요구 없이 사용할 수 있습니다.
curl에서 URL에 htpasswd 로그인 정보 보내서 파일 다운로드하기
[curl -LO http://test:test@test.runit.cloud/google/1.txt]
![]() |
wget에서 URL에 htpasswd 로그인 정보 보내서 파일 다운로드하기
[wget http://test:test@test.runit.cloud/google/1.txt]
![]() |
마무리
htpasswd를 사용하는 HTTP 기본 인증이 설정된 환경에서, curl과 wget을 사용해서 계정과 비밀번호를 URL에 함께 넣어서 사용하면 요청 시 인증 요청 없이 로그인 할 수 있습니다.
cron을 통해 주기적으로 실행 해야 할 작업이 있다면 스크립트를 통해 자동화 할 수 있습니다.
COMMENTS