known_hosts파일에 키를 "안전하게"추가하는 가장 중요한 부분은 서버 관리자로부터 키 지문을 얻는 것입니다. 주요 지문은 다음과 같아야합니다.
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
GitHub의 경우 일반적으로 관리자와 직접 대화 할 수 없습니다. 그러나 웹 페이지에 키를 배치하여 정보를 복구 할 수 있습니다.
수동 키 설치
1) 서버에서 키 사본을 가져 와서 지문을 얻습니다. 주의 : 지문을 확인 하기 전에이 작업을 수행하십시오.
$ ssh-keyscan -t rsa github.com | tee github-key-temp | ssh-keygen -lf -
# github.com:22 SSH-2.0-babeld-f3847d63
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA)
2) 서버 관리자로부터 키 지문의 사본을 받으십시오.이 경우 github.com에 대한 정보가있는 페이지로 이동하십시오.
- github.com으로 이동
- 도움말 페이지로 이동합니다 (로그인 한 경우 오른쪽 메뉴, 그렇지 않으면 홈페이지 하단).
- 에서 시작 섹션으로 이동 SSH와 GitHub의에 연결
- SSH 연결 테스트로 이동
- 나중에 사용할 수 있도록 SHA256 지문을 해당 페이지에서 텍스트 편집기로 복사하십시오.
3) 두 소스의 키를 비교하십시오.
텍스트 편집기에서 바로 위에 배치하면 무언가가 변경되었는지 쉽게 확인할 수 있습니다.
2048 SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8 github.com (RSA) #key recovered from github website
2048 SHA256:nThbg6kXUpJ3Gl7E1InsaspRomtxdcArLviKaEsTGY8 github.com (RSA) #key recovered with keyscan
두 번째 키는 조작되었지만 원래 키와 매우 비슷해 보입니다. 이와 같은 상황이 발생하면 심각한 공격을 받고 신뢰할 수있는 보안 전문가에게 문의해야합니다.
키가 다르면 절차가 중단되고 보안 전문가와 연락하십시오
4) 키가 올바르게 비교되면 이미 다운로드 한 키를 설치해야합니다
cat github-key-temp >> ~/.ssh/known_hosts
또는 시스템의 모든 사용자 (루트로)를 설치하려면 다음을 수행하십시오.
cat github-key-temp >> /etc/ssh/ssh_known_hosts
자동 키 설치
빌드 프로세스 중에 키를 추가해야하는 경우 위 수동 프로세스의 1-3 단계를 따라야합니다.
이를 수행 한 후 github-key-temp파일 의 내용을 검사하고 해당 내용을 알려진 호스트 파일에 추가하는 스크립트를 작성하십시오.
if ! grep github.com ~/.ssh/known_hosts > /dev/null
then
echo "github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==" >> ~/.ssh/known_hosts
fi
이제 비활성화 된 모든 명령을 제거 해야합니다 .sshStrictHostKeyChecking