SSH를 통해 git에서 호스트 키 확인을 비활성화하는 방법은 무엇입니까?

SSH를 통해 git에서 호스트 키 확인을 비활성화하는 방법은 무엇입니까?

실행하려고 할 때 새 Linux 인스턴스를 설치한 후 처음으로 이 메시지가 표시됩니다.git clone [email protected]:Company/Repo

Cloning into 'Repo'...
The authenticity of host 'github.com (140.82.121.3)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?

내가 대답하면 yes다음 메시지가 나타납니다.

Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.

나는 이것이 안전을 위한 것임을 안다. 그러나 우리는 회사를 위한 몇 가지 미니 도구를 만들고 있으므로 개발 환경에서는 이 기능을 비활성화하는 것을 선호합니다.

bash 스크립트가 새로 설치 시 처음으로 작동하도록 이를 비활성화하고 싶습니다.

어떻게 할 수 있나요?

추신: 보안 제안을 하지 마십시오. 우리는 위험을 알고 있으며 이를 받아들일 준비가 되어 있습니다.

답변1

이는 SSH 프로토콜을 통해 git 호스트에 연결할 때 발생합니다. 실제로 이것은 SSH의 일반적인 관행입니다.

이것이 하는 일은 ~/.ssh/known_hosts컴퓨터의 호스트 키를 효과적으로 추가하여 보안을 보장하는 것입니다.

가장 좋은 방법은 다음 위치에 컴퓨터 설정을 추가하는 것입니다 ~/.ssh/config.

Host 172.16.0.1
    User git
    StrictHostKeyChecking no
    ...

그러나 모든 클라이언트에 대해 이 작업을 수행해야 하며 상황에 가장 적합하지 않을 수도 있습니다.

GIT_SSH_COMMAND따라서 다음과 같이 SSH를 통해 연결할 때 호스트 키 확인을 무시하도록 git에 지시하도록 환경 변수를 변경하는 것이 더 적절하다고 생각합니다 .

GIT_SSH_COMMAND="ssh -o StrictHostKeyChecking=no" git clone [email protected]:Company/Repo

답변2

간단하고 안전한 해결책은 키 확인을 비활성화하는 것이 아니라 github 키를 추가하는 것입니다. 스크립트에 다음을 추가하세요.

ssh-keyscan github.com >> ~/.ssh/known_hosts

필요한 경우 스크립트가 있습니다 mkdir ~/.ssh.

ssh-keyscan사용할 수 없는 경우 apt install둘 중 하나입니다(ssh-keyscan 만 필요한 경우 ssh후자 openssh-client가 더 가볍고 충분합니다).

관련 정보