SSH 문제 해결
SSH 키를 사용할 때 다음과 같은 문제가 발생할 수 있습니다. GitLab 16.3 이상에서 Go는 RSA 키를 최대 8192비트로 제한합니다. 8192비트보다 긴 키는 더 짧은 키로 교체하세요. git clone을 실행할 때 git@gitlab.example.com's password:와 같은 비밀번호를 묻는 메시지가 표시될 수 있습니다.
SSH 키를 사용할 때 다음과 같은 문제가 발생할 수 있습니다.
TLS: server sent certificate containing RSA key larger than 8192 bits#
GitLab 16.3 이상에서 Go는 RSA 키를 최대 8192비트로 제한합니다. 키의 길이를 확인하려면:
openssl rsa -in <your-key-file> -text -noout | grep "Key:"
8192비트보다 긴 키는 더 짧은 키로 교체하세요.
git clone으로 비밀번호 프롬프트 발생#
git clone을 실행할 때 git@gitlab.example.com's password:와 같은 비밀번호를 묻는 메시지가 표시될 수 있습니다.
이는 SSH 설정에 문제가 있음을 나타냅니다.
- SSH 키 쌍을 올바르게 생성했는지 확인하고 공개 SSH 키를 GitLab 프로필에 추가했는지 확인하세요.
- SSH 키 형식이 서버 OS 구성과 호환되는지 확인하세요. 예를 들어 ED25519 키 쌍은 일부 FIPS 시스템에서 작동하지 않을 수 있습니다.
ssh-agent를 사용하여 개인 SSH 키를 수동으로 등록해 보세요.ssh -Tv git@example.com을 실행하여 연결을 디버그해 보세요.example.com을 GitLab URL로 교체하세요.- Microsoft Windows에서 SSH 사용의 모든 지침을 따랐는지 확인하세요.
- GitLab SSH 소유권 및 권한을 확인했는지 확인하세요. 여러 호스트가 있는 경우 모든 호스트에서 권한이 올바른지 확인하세요.
Could not resolve hostname 오류#
SSH 연결을 확인할 때 다음 오류가 발생할 수 있습니다:
ssh: Could not resolve hostname gitlab.example.com: nodename nor servname provided, or not known
이 오류가 발생하면 터미널을 다시 시작하고 명령을 다시 시도하세요.
Key enrollment failed: invalid format 오류#
FIDO2 하드웨어 보안 키에 대한 SSH 키 쌍을 생성할 때 다음 오류가 발생할 수 있습니다:
Key enrollment failed: invalid format
다음을 시도하여 이 문제를 해결할 수 있습니다:
sudo를 사용하여ssh-keygen명령을 실행합니다.- FIDO2 하드웨어 보안 키가 제공된 키 유형을 지원하는지 확인합니다.
ssh -V를 실행하여 OpenSSH 버전이 8.2 이상인지 확인합니다.
오류: Permission denied (publickey)#
Permission denied (publickey) 오류는 일반적으로 다음 문제 중 하나 이상을 나타냅니다:
- 공개 키가 추가되지 않음: 공개 키가 GitLab 계정에 추가되었는지 확인합니다. 이 문제는 새 사용자나 새 컴퓨터에서 일반적입니다.
- 지원되지 않는 키 유형: 키 유형이 지원되지 않거나 GitLab이 인식하지 못하는 헤더가 포함되어 있습니다.
- 잘못된 개인 키 사용: 여러 개의 로컬 SSH 키가 있는 경우 올바른 키를 사용하고 있는지 확인합니다. SSH는 기본적으로
~/.ssh/id_rsa또는id_ed25519를 사용합니다. 사용할 키를 정의해야 할 수 있습니다. - 개인 키에 액세스할 수 없음: 로컬 장치에서 개인 키에 액세스할 수 있는지 확인합니다.
- 로컬 권한 오류: 키에 대한 권한을 확인합니다. 개인 키는
600을,.ssh디렉토리는700을 사용해야 합니다. ssh-agent에 SSH 키가 로드되지 않음: 키를 로컬 SSH 클라이언트에서 사용할 수 있는지 확인합니다. 이 문제는 재부팅 후나 새 터미널 세션에서 일반적입니다.
오류: SSH host keys are not available on this system.#
GitLab이 호스트 SSH 키에 액세스할 수 없는 경우 gitlab.example/help/instance_configuration을 방문하면 SSH 호스트 키 지문 헤더 아래에 인스턴스 SSH 지문 대신 다음 오류 메시지가 표시됩니다:
SSH host keys are not available on this system. Please use ssh-keyscan command or contact your GitLab administrator for more information.
이 오류를 해결하려면:
- Helm 차트(Kubernetes) 배포에서는
values.yaml을 업데이트하여webservice섹션 아래에sshHostKeys.mount를true로 설정합니다. - GitLab Self-Managed 인스턴스에서는 호스트 키에 대한
/etc/ssh디렉토리를 확인합니다.
일반적인 SSH 문제 해결#
이전 섹션으로 문제가 해결되지 않으면 SSH 연결을 자세한 모드로 실행합니다. 자세한 모드는 연결에 대한 유용한 정보를 반환할 수 있습니다.
SSH를 자세한 모드로 실행하려면 다음 명령을 사용하고 gitlab.example.com을 GitLab 인스턴스 URL로 교체합니다:
ssh -Tvvv git@gitlab.example.com
