EC2 인스턴스 자동 구성의 일부로 git clone을 사용하시겠습니까?

EC2 인스턴스 자동 구성의 일부로 git clone을 사용하시겠습니까?

Terraform을 사용하여 EC2 인스턴스를 설정하고 있으며 이 프로세스 중에 대규모 스크립트를 실행해야 합니다. 다음과 같은 스크립트를 gitlab 저장소에서 다운로드하고 싶습니다.

git clone [email protected]:a_name/project.git
Cloning into 'project'...
The authenticity of host 'gitlab.something.org (12.34.56.78)' can't be established.
ECDSA key fingerprint is SHA256:....
Are you sure you want to continue connecting (yes/no)? yes
Cloning into ...

명령줄에서 이를 실행할 때 확인해야 하는데 제 상황에서는 불가능합니다.

그러나 /var/log/cloud-init-output.log(올바른 개인 키를 업로드한 후) 다음이 표시됩니다.

Cloning into 'project'...
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

나는 이 오류가 단순히 '예'로 응답하지 않은 결과였기를 바랍니다. git에게 괜찮다고 말하고, 내가 하고 있는 일을 알고 있으며, 계속 진행하도록 할 수 있는 방법이 있습니까?

답변1

자동화된 시스템을 사용하여 known_hosts올바른 호스트 키가 있는 파일을 배포하세요. 예를 들어 다음을 사용하여 자신의 알려진 호스트에서 항목을 복사할 수 있습니다.ssh-keygen -F gitlab.something.org (파일이 해시된 경우에도 작동함).

파일은 또는 ~/.ssh/known_hosts에서 배포될 수 있습니다 /etc/ssh/ssh_known_hosts.

호스트 키 확인에 유의하세요.그렇지 않다당신이 하고 있는 일을 확인하기 위해 거기에 있습니다. 이는 당신이 하려는 일이 실제로 일어나고 있는 일과 일치하는지 확인하기 위해 존재합니다. HTTPS와 마찬가지로 이는 MITM 공격과 같은 외부 요인으로부터 보호하기 위한 것입니다. 입력한 URL은 항상 100% 정확할 수 있지만 몇 달 또는 몇 년 후에 패킷이 갑자기 잘못된 서버로 다시 라우팅될 수 있습니다.

관련 정보