Thanks to visit codestin.com
Credit goes to docs.github.com

Skip to main content

HTTPS 포트를 통해 SSH 사용

경우에 따라 방화벽은 SSH 연결을 완전히 허용하지 않습니다. 자격 증명 캐싱과 함께 HTTPS 복제를 사용할 수 없는 경우 HTTPS 포트를 통해 만들어진 SSH 연결을 사용하여 복제를 시도할 수 있습니다. 대부분의 방화벽 규칙은 이를 허용해야 하지만 프록시 서버가 방해할 수 있습니다.

Warning

GitHub Enterprise Server 사용자: 현재 HTTPS 포트를 통해 SSH를 사용하여 GitHub Enterprise Server에 액세스할 수는 없습니다.

HTTPS 포트를 통한 SSH가 가능한지 테스트하려면 다음 SSH 명령을 실행합니다.

$ ssh -T -p 443 [email protected]
# Hi USERNAME! You've successfully authenticated, but GitHub does not
# provide shell access.

성공했다면 다행입니다. 실패한 경우 문제 해결 가이드에 따라야 할 수 있습니다.

Note

포트 443의 호스트 이름은 github.com이 아니라, ssh.github.com입니다.

이제 다음 명령을 실행하여 리포지토리를 복제할 수 있습니다.

git clone ssh://[email protected]:443/YOUR-USERNAME/YOUR-REPOSITORY.git

HTTPS를 통해 SSH 연결 사용

포트 443을 통해 [email protected]에 SSH할 수 있는 경우 GitHub.com에 대한 모든 연결이 해당 서버와 포트를 통해 실행되도록 SSH 설정을 재정의할 수 있습니다.

SSH 구성 파일에서 이렇게 설정하려면 ~/.ssh/config에 있는 파일을 편집하여 다음 섹션을 추가합니다.

Host github.com
    Hostname ssh.github.com
    Port 443
    User git

GitHub.com에 한 번 더 연결하여 제대로 작동하는지 테스트할 수 있습니다.

$ ssh -T [email protected]
# Hi USERNAME! You've successfully authenticated, but GitHub does not
# provide shell access.

알려진 호스트 업데이트

포트 443으로 전환한 후 GitHub과(와) 처음으로 상호 작용할 때 known_hosts에서 호스트를 찾을 수 없거나 다른 이름으로 검색되었다는 경고 메시지가 표시될 수 있습니다.

# The authenticity of host '[ssh.github.com]:443 ([140.82.112.36]:443)' can't be established.
# ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
# This host key is known by the following other names/addresses:
#     ~/.ssh/known_hosts:32: github.com
# Are you sure you want to continue connecting (yes/no/[fingerprint])?

SSH 지문이 GitHub의 게시된 지문 중 하나와 일치한다고 가정하면 이 질문에 "예"라고 대답하는 것이 안전합니다. 지문 목록은 GitHub의 SSH 키 지문을(를) 참조하세요.