도커: CLI를 통해 --password를 사용하는 것은 안전하지 않습니다.--password-stdin 사용
CI(Continuous Integration) 프로세스 중에 레지스트리에 로그인하면 다음 경고가 표시됩니다.
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
제가 그냥 교체해야 할까요?--password와 함께--password-stdin?
도커 설명서에 따르면:
도커 로그인 명령을 대화형이 아닌 방식으로 실행하려면 다음과 같이 설정할 수 있습니다.
--password-stdinSTDIN을 통해 암호를 제공하는 플래그입니다. STDIN을 사용하면 암호가 셸의 기록 또는 로그 파일로 끝나는 것을 방지할 수 있습니다.
다음 예제에서는 파일에서 암호를 읽고 STDIN을 사용하여 이 암호를 도커 로그인 명령으로 전달합니다.
$ cat ~/my_password.txt | docker login --username foo --password-stdin
또는
$ docker login --username foo --password-stdin < ~/my_password
다음 예제에서는 변수에서 암호를 읽고 STDIN을 사용하여 이 암호를 도커 로그인 명령으로 전달합니다.
$ echo "$MY_PASSWORD" | docker login --username foo --password-stdin
동일echo윈도우즈 기반 시스템의 명령(또는 vs2017-win2016에 기반한 Azure Pipeline 태스크에서 실행되는 경우)도 추가적인 새 줄을 출력합니다.
사용할 수 있는 해결 방법set /p참고 항목: 질문 + 답변.
전체 명령은 다음과 같습니다.
echo | set /p="my_password" | docker login --username foo --password-stdin
파워셸을 사용한 Windows 10 솔루션:
메모장을 사용하여 암호로 한 줄 텍스트 파일을 만듭니다.아래 명령줄이 작동하도록 파일 이름이 "password1.txt"로 지정되었습니다.
이 파일을 파워셸에서 사용 중인 폴더에 저장합니다(...일반적으로 C:\사용자\_사용자 이름).
Get-Content password1.txt | docker login --username my_username --password-stdin
Windows PowerShell에서 표준 입력\출력 리디렉션을 참조하십시오.
github 작업 설정:
echo ${{ secrets.DOCKER_TOKEN }} | docker login --username ${{ secrets.DOCKER_USERNAME }} --password-stdin
이것은 AWS를 사용할 때 흔히 발생하는 경고입니다.이 경우 명령이 기록에 저장되도록 명령을 명시적으로 실행하지 않는 것이 문제에 대한 다른 해결책일 수 있습니다.이를 위해 (aWS2와 함께)를 사용할 수 있습니다.
eval $(aws2 ecr get-login --no-include-email)
경고가 계속 표시되더라도 키/암호가 포함된 명시적 도커 명령은 bash 기록에 저장되지 않습니다.납득할 수 없는 경우 실행해 보십시오.history직접 확인할 수 있는 명령입니다.
Windows 배치의 경우(PowerShell을 사용하지 않는 경우):
type password.txt | docker login --username foo --password-stdin
언급URL : https://stackoverflow.com/questions/51489359/docker-using-password-via-the-cli-is-insecure-use-password-stdin
'programing' 카테고리의 다른 글
| 마지막으로 수정된 날짜까지 N개의 파일을 디렉토리 순서로 가져오는 방법은 무엇입니까? (0) | 2023.08.05 |
|---|---|
| SQL Server의 중첩된 트랜잭션 (0) | 2023.08.05 |
| 브라우저가 Jquery를 사용하여 기본 인증 팝업을 호출하고 401 오류를 처리하는 것을 방지하는 방법은 무엇입니까? (0) | 2023.08.05 |
| @스프링 부츠테스트 vs @WebMvcTest & @DataJpaTest & 서비스 유닛 테스트, 가장 좋은 것은 무엇입니까? (0) | 2023.08.05 |
| cast_sender.js 오류: 리소스를 로드하지 못했습니다. net::크롬에서 ERR_실패 (0) | 2023.08.05 |