

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS CodeCommit 문제 해결
<a name="troubleshooting"></a>

다음은 AWS CodeCommit에서 일반적으로 발생하는 문제를 해결하는 데 유용한 정보입니다.

**Topics**
+ [에 대한 Git 자격 증명 및 HTTPS 연결 문제 해결 AWS CodeCommit](troubleshooting-gc.md)
+ [git-remote-codecommit 및 문제 해결 AWS CodeCommit](troubleshooting-grc.md)
+ [에 대한 SSH 연결 문제 해결 AWS CodeCommit](troubleshooting-ssh.md)
+ [에 대한 자격 증명 헬퍼 및 HTTPS 연결 문제 해결 AWS CodeCommit](troubleshooting-ch.md)
+ [Git 클라이언트 및 문제 해결 AWS CodeCommit](troubleshooting-git.md)
+ [액세스 오류 및 문제 해결 AWS CodeCommit](troubleshooting-ae.md)
+ [구성 오류 및 문제 해결 AWS CodeCommit](troubleshooting-cf.md)
+ [콘솔 오류 및 문제 해결 AWS CodeCommit](troubleshooting-cs.md)
+ [트리거 및 문제 해결 AWS CodeCommit](troubleshooting-ti.md)
+ [디버깅 활성화](#troubleshooting-debug)

# 에 대한 Git 자격 증명 및 HTTPS 연결 문제 해결 AWS CodeCommit
<a name="troubleshooting-gc"></a>

다음 정보는 Git 자격 증명 및 HTTPS를 사용하여 AWS CodeCommit 리포지토리에 연결할 때 발생하는 일반적인 문제를 해결하는 데 도움이 될 수 있습니다.

**Topics**
+ [에 대한 Git 자격 증명 AWS CodeCommit: 터미널 또는 명령줄에서 CodeCommit 리포지토리에 연결할 때 자격 증명 프롬프트가 계속 표시됨](#troubleshooting-gc1)
+ [에 대한 Git 자격 증명 AWS CodeCommit: Git 자격 증명을 설정했지만 시스템에서 이를 사용하고 있지 않습니다.](#troubleshooting-gc2)

## 에 대한 Git 자격 증명 AWS CodeCommit: 터미널 또는 명령줄에서 CodeCommit 리포지토리에 연결할 때 자격 증명 프롬프트가 계속 표시됨
<a name="troubleshooting-gc1"></a>

**문제:** 터미널이나 명령줄에서 CodeCommit 리포지토리에 대해 푸시하거나 풀하거나 상호 작용하려 할 때, 사용자 이름과 암호를 입력하라는 메시지가 표시되며 IAM 사용자의 Git 보안 인증 정보를 제공해야 합니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 로컬 컴퓨터에 보안 인증 정보 관리를 지원하지 않는 운영 체제가 실행되고 있거나, 보안 인증 정보 관리 유틸리티가 설치되어 있지 않거나, IAM 사용자의 Git 보안 인증 정보가 이러한 보안 인증 정보 관리 시스템에 저장되어 있지 않기 때문입니다. 운영 체제 및 로컬 환경에 따라 사용자는 보안 인증 정보 관리자를 설치하거나, 운영 체제에 포함된 보안 인증 정보 관리자를 구성하거나, 보안 인증 정보 스토리지를 사용하도록 로컬 환경을 사용자 지정해야 할 수 있습니다. 예를 들어, 컴퓨터에서 macOS를 실행하는 경우에는 Keychain Access 유틸리티를 사용하여 보안 인증 정보를 저장할 수 있습니다. 컴퓨터에서 Windows를 실행하는 경우에는 Windows용 Git과 함께 설치된 Git 보안 인증 정보 관리자를 사용할 수 있습니다. 자세한 내용을 알아보려면 Git 설명서에서 [Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우](setting-up-gc.md) 섹션 및 [보안 인증 정보 스토리지](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)를 참조하세요.

## 에 대한 Git 자격 증명 AWS CodeCommit: Git 자격 증명을 설정했지만 시스템에서 이를 사용하고 있지 않습니다.
<a name="troubleshooting-gc2"></a>

**문제:** Git 클라이언트로 CodeCommit을 사용하려 하면 클라이언트가 IAM 사용자의 Git 보안 인증 정보를 사용하지 않는 것 같습니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 컴퓨터가 AWS CLI에 포함된 보안 인증 도우미를 사용하도록 설정되어 있기 때문입니다. .gitconfig 파일에 다음과 유사한 구성 섹션이 있는지 확인하고 제거합니다.

```
[credential "https://git-codecommit.*.amazonaws.com"]
    helper = !aws codecommit credential-helper $@ 
    UseHttpPath = true
```

파일을 저장한 다음 새 명령줄 또는 터미널 세션을 연 후 연결을 다시 시도합니다.

또한 컴퓨터에 보안 인증 도우미 또는 관리자가 여러 개 설치되어 있을 수 있으며, 시스템이 다른 구성을 기본값으로 사용하고 있을 수도 있습니다. 보안 인증 도우미가 기본값으로 사용되도록 재설정하려면 **git config** 명령을 실행할 때 **--global** 또는 **--local** 대신 **--system** 옵션을 사용할 수 있습니다.

자세한 내용을 알아보려면 Git 설명서에서 [Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우](setting-up-gc.md) 섹션 및 [보안 인증 정보 스토리지](https://git-scm.com/book/en/v2/Git-Tools-Credential-Storage)를 참조하세요.

# git-remote-codecommit 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-grc"></a>

다음 정보는 AWS CodeCommit 리포지토리 연결 시 발생하는 **git-remote-codecommit** 문제를 해결하는 데 도움이 될 수 있습니다.

**Topics**
+ [오류가 표시됩니다: git: 'remote-codecommit'은 git 명령어가 아닙니다](#troubleshooting-grc-syn1)
+ [오류가 표시됩니다: fatal: 'codecommit'의 원격 도우미를 찾을 수 없습니다.](#troubleshooting-grc-syn2)
+ [복제 오류: IDE에서 CodeCommit 리포지토리를 복제할 수 없습니다](#troubleshooting-grc-ide1)
+ [푸시 또는 풀 오류: IDE에서 CodeCommit 리포지토리로 커밋을 푸시하거나 풀할 수 없습니다](#troubleshooting-grc-ide2)
+ [설치 오류: git-remote-codecommitexternally-managed-environment 오류가 표시됩니다.](#troubleshooting-grc-pm1)

## 오류가 표시됩니다: git: 'remote-codecommit'은 git 명령어가 아닙니다
<a name="troubleshooting-grc-syn1"></a>

**문제:** git-remote-codecommit을 사용하려고 하면, git-remote-codecommit은 git 명령어가 아니라는 오류가 나타납니다. ‘git --help’”를 참조하세요.

**가능한 해결 방법:** 이 오류가 발생하는 가장 일반적인 이유는 git-remote-codecommit 실행 파일을 PATH에 추가하지 않았거나 문자열에 구문 오류가 포함되어 있기 때문입니다. 이는 git과 remote-codecommit 사이에 하이픈이 없거나 git-remote-codecommit 앞에 git이 추가로 배치되는 경우 발생할 수 있습니다.

로컬 설치를 지원되지 않는 버전으로 업데이트한 경우에도 이 오류가 발생할 수 있습니다. 지원되는 Python 버전에 대한 자세한 내용은 [git-remote-codecommit](https://pypi.org/project/git-remote-codecommit/)을 참조하세요.

git-remote-codecommit 설정 및 사용에 대한 자세한 내용은 [git-remote-codecommit을 AWS CodeCommit 사용하여에 대한 HTTPS 연결을 위한 설정 단계](setting-up-git-remote-codecommit.md) 단원을 참조하세요.

## 오류가 표시됩니다: fatal: 'codecommit'의 원격 도우미를 찾을 수 없습니다.
<a name="troubleshooting-grc-syn2"></a>

**문제:** git-remote-codecommit을 사용하려고 하면 “fatal: ‘codecommit’의 원격 도우미를 찾을 수 없습니다”라는 오류 메시지가 표시됩니다.

**가능한 해결 방법:** 이 오류 메시지가 나타나는 가장 일반적인 이유는 다음과 같습니다.
+ git-remote-codecommit에 대한 설정이 완료되지 않았습니다
+ 경로에 없거나 `Path` 환경 변수의 일부로 구성되지 않은 위치에 git-remote-codecommit을 설치했습니다
+ Python이 경로에 없거나 `Path` 환경 변수의 일부로 구성되지 않았습니다
+ git-remote-codecommit 설치가 완료된 이후 다시 시작된 것이 아닌 터미널 또는 명령줄 창을 사용하고 있습니다

git-remote-codecommit 설정 및 사용에 대한 자세한 내용은 [git-remote-codecommit을 AWS CodeCommit 사용하여에 대한 HTTPS 연결을 위한 설정 단계](setting-up-git-remote-codecommit.md) 단원을 참조하세요.

## 복제 오류: IDE에서 CodeCommit 리포지토리를 복제할 수 없습니다
<a name="troubleshooting-grc-ide1"></a>

**문제:** IDE에서 CodeCommit 리포지토리를 복제하려고 하면 엔드포인트 또는 URL이 유효하지 않다는 오류가 표시됩니다.

**가능한 해결 방법:** 모든 IDE가 복제 중에 **git-remote-codecommit**에서 사용하는 URL을 지원하는 것은 아닙니다. 터미널이나 명령줄에서 로컬로 리포지토리를 복제한 다음 해당 로컬 리포지토리를 IDE에 추가합니다. 자세한 내용은 [3단계: CodeCommit 콘솔 연결 및 리포지토리 복제](setting-up-git-remote-codecommit.md#setting-up-git-remote-codecommit-connect-console) 단원을 참조하십시오.

## 푸시 또는 풀 오류: IDE에서 CodeCommit 리포지토리로 커밋을 푸시하거나 풀할 수 없습니다
<a name="troubleshooting-grc-ide2"></a>

**문제:** IDE에서 코드를 푸시하거나 풀하려고 시도할 때 연결 오류가 발생합니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 이유는 IDE가 **git-remote-codecommit**와 같은 Git 원격 도우미와 호환되지 않는다는 것입니다. IDE 기능을 사용하여 코드를 커밋, 푸시 및 풀하는 대신 Git 명령을 사용하여 명령줄이나 터미널에서 로컬 리포지토리를 수동으로 업데이트하십시오.

원격 도우미 및 Git에 대한 자세한 내용은 [Git 설명서](https://git-scm.com/docs/gitremote-helpers)를 참조하십시오.

## 설치 오류: git-remote-codecommitexternally-managed-environment 오류가 표시됩니다.
<a name="troubleshooting-grc-pm1"></a>

**문제:** `pip install git-remote-codecommit` 명령을 실행하려고 하면 환경이 외부에서 관리됨을 나타내는 오류가 표시됩니다.

**가능한 해결 방법:**이 오류의 가장 일반적인 이유는 EXTERNALLY-MANAGED 마커 파일을 정의하는 Python의 배포(distro)를 실행하기 때문입니다. 이에 대한 가장 좋은 해결책은 가상 환경을 생성하고 사용하는 것입니다.

외부 관리형 환경 및 Python에 대한 자세한 내용은 Python 설명서의 [외부 관리형 환경](https://packaging.python.org/en/latest/specifications/externally-managed-environments/#externally-managed-environments) 및 [pip 및 venv를 사용하여 가상 환경에 패키지 설치](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/)를 참조하세요.

# 에 대한 SSH 연결 문제 해결 AWS CodeCommit
<a name="troubleshooting-ssh"></a>

다음 정보는 SSH를 사용하여 CodeCommit 리포지토리에 연결 시 일반적인 문제를 해결하는 데 도움이 됩니다.

**Topics**
+ [액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되었지만 Linux, macOS, Unix 시스템에서 연결이 실패했습니다](#troubleshooting-ae4)
+ [액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되고 SSH가 성공적으로 테스트되었지만 Windows 시스템에서 연결이 실패했습니다](#troubleshooting-ae5)
+ [인증 문제: CodeCommit 리포지토리에 연결할 때 호스트의 인증을 설정할 수 없습니다](#troubleshooting-ac1)
+ [IAM 오류: 퍼블릭 키를 IAM에 추가하려고 시도할 때 '잘못된 형식' 오류가 나타납니다](#troubleshooting-iam1)
+ [SSH 보안 인증 정보를 사용하여 여러 Amazon Web Services 계정의 CodeCommit 리포지토리에 액세스해야 합니다](#troubleshooting-ssh-multi)
+ [Windows에서의 Git: SSH를 사용하여 연결을 시도할 때 Bash 에뮬레이터 또는 명령줄이 중지됩니다](#troubleshooting-gw2)
+ [일부 Linux 배포판에 공개 키 형식을 지정해야 합니다](#troubleshooting-os-syn2)
+ [액세스 오류: CodeCommit 리포지토리에 연결할 때 SSH 퍼블릭 키가 거부됩니다](#troubleshooting-permission-denied-ssh-key)

## 액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되었지만 Linux, macOS, Unix 시스템에서 연결이 실패했습니다
<a name="troubleshooting-ae4"></a>

**문제:** SSH 엔드포인트에 연결하여 CodeCommit 리포지토리와 통신을 시도할 때, 그리고 연결을 테스트하거나 리포지토리를 복제할 때 연결이 실패하거나 거부됩니다.

**가능한 해결 방법:**: IAM의 퍼블릭 키에 할당된 SSH 키 ID가 연결 시도에 연결되지 않았을 수 있습니다. [config 파일을 구성하지 않았거나](setting-up-ssh-unixes.md#cc-configure-config), config 파일에 대한 액세스 권한이 없거나 다른 설정이 config 파일을 성공적으로 읽지 못하도록 하고 있거나, 잘못된 키 ID를 입력했거나, 키 ID 대신에 IAM 사용자의 ID를 제공했을 수 있습니다.

SSH 키 ID는 IAM 사용자 프로필의 IAM 콘솔에서 찾을 수 있습니다.

![\[IAM 콘솔의 SSH 키 ID\]](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-ssh-key-id-iam.png)


**참고**  
SSH 키 ID를 두 개 이상 업로드한 경우, 키가 업로드 날짜가 아니라 키 ID를 기준으로 영문자순으로 나열됩니다. 올바른 업로드 날짜와 연결된 키 ID를 복사했는지 확인합니다.

다음 명령으로 연결 테스트를 시도합니다.

```
ssh Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com
```

연결 확인 후 성공 메시지가 나타나면 SSH 키 ID가 유효한 것입니다. config 파일을 편집하여 IAM의 퍼블릭 키로 연결 시도에 연결합니다. config 파일을 편집하지 않으려면 SSH 키 ID를 사용하여 리포지토리에 모든 연결 시도를 시작할 수 있습니다. 예를 들어, config 파일을 수정하지 않고 *MyDemoRepo* 리포지토리를 복제하여 연결 시도에 연결하려면 다음 명령을 실행합니다.

```
git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
```

자세한 내용은 [Linux, macOS, Unix에서 SSH 연결](setting-up-ssh-unixes.md) 단원을 참조하십시오.

## 액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되고 SSH가 성공적으로 테스트되었지만 Windows 시스템에서 연결이 실패했습니다
<a name="troubleshooting-ae5"></a>

**문제:** SSH 엔드포인트를 사용하여 CodeCommit 리포지토리에 대해 복제나 통신을 시도할 때 `No supported authentication methods available` 문구가 포함된 오류 메시지가 나타납니다.

**수정 방법:** 이 오류가 발생하는 가장 일반적인 이유는 SSH 사용을 시도할 때 Windows에게 다른 프로그램을 사용하도록 지시하는 Windows 시스템 환경 설정 변수 집합이 있기 때문입니다. 예를 들어, GIT\$1SSH 변수가 도구(plink.exe)의 PuTTY 설정 중 하나를 가리키도록 설정했을 수 있습니다. 이는 레거시 구성이거나 컴퓨터에 설치된 하나 이상의 기타 프로그램에 필요한 것일 수 있습니다. 이 환경 변수가 필요하지 않다고 확신하면 시스템 속성을 열어 제거할 수 있습니다.

이 문제를 해결하려면 Bash 에뮬레이터를 연 다음 SSH 연결을 다시 시도하세요. 이때 `GIT_SSH_COMMAND="SSH"`를 접두사로 포함합니다. 예를 들어, SSH를 사용하는 리포지토리를 복제하려면 다음 명령을 실행합니다.

```
GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
```

Windows 명령줄에서 SSH를 통해 연결할 때 Windows 버전이 연결 문자열의 일부로 SSH 키 ID를 포함하도록 요구하는 경우 유사한 문제가 발생할 수 있습니다. 이번에는 IAM에서 복사된 SSH 키 ID를 명령의 일부로 포함하여 연결을 다시 시도하세요. 예제:

```
git clone ssh://Your-SSH-Key-ID@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
```

## 인증 문제: CodeCommit 리포지토리에 연결할 때 호스트의 인증을 설정할 수 없습니다
<a name="troubleshooting-ac1"></a>

**문제:** SSH 엔드포인트를 사용하여 CodeCommit 리포지토리와 통신을 시도할 때 `The authenticity of host 'host-name' can't be established.` 문구가 포함된 경고 메시지가 나타납니다.

**수정 방법:** 자격 증명이 올바르게 설정되지 않았을 수 있습니다. [Linux, macOS, Unix에서 SSH 연결](setting-up-ssh-unixes.md) 또는 [Windows에서 SSH 연결](setting-up-ssh-windows.md)의 지침을 따릅니다.

이 단계를 따랐는데도 문제가 지속되는 경우 누군가 중간자 공격을 시도하고 있는 것일 수 있습니다. 다음 메시지가 나타나면 `no`를 입력하고 Enter 키를 누릅니다.

```
Are you sure you want to continue connecting (yes/no)?
```

CodeCommit 연결을 진행하기 전에 연결을 위한 지문과 퍼블릭 키가 SSH 설정 항목에 기록된 것과 일치하는지 확인합니다.


**CodeCommit의 퍼블릭 지문**  

| Server | 암호화 해시 유형 | 지문 | 
| --- | --- | --- | 
| git-codecommit.us-east-2.amazonaws.com | MD5 | a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e | 
| git-codecommit.us-east-2.amazonaws.com | SHA256 | 3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ | 
| git-codecommit.us-east-1.amazonaws.com | MD5 | a6:9c:7d:bc:35:f5:d4:5f:8b:ba:6f:c8:bc:d4:83:84 | 
| git-codecommit.us-east-1.amazonaws.com | SHA256 | eLMY1j0DKA4uvDZcl/KgtIayZANwX6t8\$18isPtotBoY | 
| git-codecommit.us-west-2.amazonaws.com | MD5 | a8:68:53:e3:99:ac:6e:d7:04:7e:f7:92:95:77:a9:77 | 
| git-codecommit.us-west-2.amazonaws.com | SHA256 | 0pJx9SQpkbPUAHwy58UVIq0IHcyo1fwCpOOuVgcAWPo | 
| git-codecommit.eu-west-1.amazonaws.com | MD5 | 93:42:36:ea:22:1f:f1:0f:20:02:4a:79:ff:ea:12:1d | 
| git-codecommit.eu-west-1.amazonaws.com | SHA256 | tKjRkOL8dmJyTmSbeSdN1S8F/f0iql3RlvqgTOP1UyQ | 
| git-codecommit.ap-northeast-1.amazonaws.com | MD5 | 8e:a3:f0:80:98:48:1c:5c:6f:59:db:a7:8f:6e:c6:cb | 
| git-codecommit.ap-northeast-1.amazonaws.com | SHA256 | Xk/WeYD/K/bnBybzhiuu4dWpBJtXPf7E30jHU7se4Ow | 
| git-codecommit.ap-southeast-1.amazonaws.com | MD5 | 65:e5:27:c3:09:68:0d:8e:b7:6d:94:25:80:3e:93:cf | 
| git-codecommit.ap-southeast-1.amazonaws.com | SHA256 | ZIsVa7OVzxrTIf\$1Rk4UbhPv6Es22mSB3uTBojfPXIno | 
| git-codecommit.ap-southeast-2.amazonaws.com | MD5 | 7b:d2:c1:24:e6:91:a5:7b:fa:c1:0c:35:95:87:da:a0 | 
| git-codecommit.ap-southeast-2.amazonaws.com | SHA256 | nYp\$1gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec | 
| git-codecommit.ap-southeast-3.amazonaws.com | MD5 | 64:d9:e0:53:19:4f:a8:91:9a:c3:53:22:a6:a8:ed:a6 | 
| git-codecommit.ap-southeast-3.amazonaws.com | SHA256 | ATdkGSFhpqIu7RqUVT/1RZo6MLxxxUW9NoDVMbAc/6g | 
| git-codecommit.me-central-1.amazonaws.com | MD5 | bd:fa:e2:f9:05:84:d6:39:6f:bc:d6:8d:fe:de:61:76 | 
| git-codecommit.me-central-1.amazonaws.com | SHA256 | grceUDWubo4MzG1NoaKZKUfrgPvfN3ijliOnQr1lTZA | 
| git-codecommit.eu-central-1.amazonaws.com | MD5 | 74:5a:e8:02:fc:b2:9c:06:10:b4:78:84:65:94:22:2d | 
| git-codecommit.eu-central-1.amazonaws.com | SHA256 | MwGrkiEki8QkkBtlAgXbYt0hoZYBnZF62VY5RzGJEUY | 
| git-codecommit.ap-northeast-2.amazonaws.com | MD5 | 9f:68:48:9b:5f:fc:96:69:39:45:58:87:95:b3:69:ed | 
| git-codecommit.ap-northeast-2.amazonaws.com | SHA256 | eegAPQrWY9YsYo9ZHIKOmxetfXBHzAZd8Eya53Qcwko | 
| git-codecommit.sa-east-1.amazonaws.com | MD5 | 74:99:9d:ff:2b:ef:63:c6:4b:b4:6a:7f:62:c5:4b:51 | 
| git-codecommit.sa-east-1.amazonaws.com | SHA256 | kW\$1VKB0jpRaG/ZbXkgbtMQbKgEDK7JnISV3SVoyCmzU | 
| git-codecommit.us-west-1.amazonaws.com | MD5 | 3b:76:18:83:13:2c:f8:eb:e9:a3:d0:51:10:32:e7:d1 | 
| git-codecommit.us-west-1.amazonaws.com | SHA256 | gzauWTWXDK2u5KuMMi5vbKTmfyerdIwgSbzYBODLpzg | 
| git-codecommit.eu-west-2.amazonaws.com | MD5 | a5:65:a6:b1:84:02:b1:95:43:f9:0e:de:dd:ed:61:d3 | 
| git-codecommit.eu-west-2.amazonaws.com | SHA256 | r0Rwz5k/IHp/QyrRnfiM9j02D5UEqMbtFNTuDG2hNbs | 
| git-codecommit.ap-south-1.amazonaws.com | MD5 | da:41:1e:07:3b:9e:76:a0:c5:1e:64:88:03:69:86:21 | 
| git-codecommit.ap-south-1.amazonaws.com | SHA256 | hUKwnTj7\$1Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE | 
| git-codecommit.ap-south-2.amazonaws.com | MD5 | bc:cc:9f:15:f8:f3:58:a2:68:65:21:e2:23:71:8d:ce | 
| git-codecommit.ap-south-2.amazonaws.com | SHA256 | Xe0CyZEOvgR5Xa2YUGqf\$1jn8/Ut7l7nX/CmslSFNEig | 
| git-codecommit.ca-central-1.amazonaws.com | MD5 | 9f:7c:a2:2f:8c:b5:74:fd:ab:b7:e1:fd:af:46:ed:23 | 
| git-codecommit.ca-central-1.amazonaws.com | SHA256 | Qz5puafQdANVprLlj6r0Qyh4lCNsF6ob61dGcPtFS7w | 
| git-codecommit.eu-west-3.amazonaws.com | MD5 | 1b:7f:97:dd:d7:76:8a:32:2c:bd:2c:7b:33:74:6a:76 | 
| git-codecommit.eu-west-3.amazonaws.com | SHA256 | uw7c2FL564jVoFgtc\$1ikzILnKBsZz7t9\$1CFdSJjKbLI | 
| git-codecommit.us-gov-west-1.amazonaws.com | MD5 | 9f:6c:19:3b:88:cd:e8:88:1b:9c:98:6a:95:31:8a:69 | 
| git-codecommit.us-gov-west-1.amazonaws.com | SHA256 | djXQoSIFcg8vHe0KVH1xW/gOF9X37tWTqu4Hkng75x4 | 
| git-codecommit.us-gov-east-1.amazonaws.com | MD5 | 00:8d:b5:55:6f:05:78:05:ed:ea:cb:3f:e6:f0:62:f2 | 
| git-codecommit.us-gov-east-1.amazonaws.com | SHA256 | fVb\$1R0z7qW7minenW\$1rUpAABRCRBTCzmETAJEQrg98 | 
| git-codecommit.eu-north-1.amazonaws.com | MD5 | 8e:53:d8:59:35:88:82:fd:73:4b:60:8a:50:70:38:f4 | 
| git-codecommit.eu-north-1.amazonaws.com | SHA256 | b6KSK7xKq\$1V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ | 
| git-codecommit.me-south-1.amazonaws.com | MD5 | 0e:39:28:56:d5:41:e6:8d:fa:81:45:37:fb:f3:cd:f7 | 
| git-codecommit.me-south-1.amazonaws.com | SHA256 | O\$1NToCGgjrHekiBuOl0ad7ROGEsz\$1DBLXOd/c9wc0JU | 
| git-codecommit.ap-east-1.amazonaws.com | MD5 | a8:00:3d:24:52:9d:61:0e:f6:e3:88:c8:96:01:1c:fe | 
| git-codecommit.ap-east-1.amazonaws.com | SHA256 | LafadYwUYW8hONoTRpojbjNs9IRnbEwHtezD3aAIBX0 | 
| git-codecommit.cn-north-1.amazonaws.com .cn | MD5 | 11:7e:2d:74:9e:3b:94:a2:69:14:75:6f:5e:22:3b:b3 | 
| git-codecommit.cn-north-1.amazonaws.com .cn | SHA256 | IYUXxH2OpTDsyYMLIp\$1JY8CTLS4UX\$1ZC5JVZXPRaxc8 | 
| git-codecommit.cn-northwest-1.amazonaws.com .cn | MD5 | 2e:a7:fb:4c:33:ac:6c:f9:aa:f2:bc:fb:0a:7b:1e:b6 | 
| git-codecommit.cn-northwest-1.amazonaws.com .cn | SHA256 | wqjd6eHd0\$1mOBx\$1dCNuL0omUoCNjaDtZiEpWj5TmCfQ | 
| git-codecommit.eu-south-1.amazonaws.com | MD5 | b9:f6:5d:e2:48:92:3f:a9:37:1e:c4:d0:32:0e:fb:11 | 
| git-codecommit.eu-south-1.amazonaws.com | SHA256 | lyXrWbCg3uQmJrl1XxB/ASR7ugW1Ysf5yzYOJbudHsI | 
| git-codecommit.ap-northeast-3.amazonaws.com | MD5 | 25:17:40:da:b9:d4:18:c3:b6:b3:fb:ed:1c:20:fe:29 | 
| git-codecommit.ap-northeast-3.amazonaws.com | SHA256 | 2B815B9F0AvwLnRxSVxUz4kDYmtEQUGGdQYP8OQLXhA | 
| git-codecommit.af-south-1.amazonaws.com | MD5 | 21:a0:ba:d7:c1:d1:b5:39:98:8d:4d:7c:96:f5:ca:29 | 
| git-codecommit.af-south-1.amazonaws.com | SHA256 | C34ji3x/cnsDZjUpyNGXdE5pjHYimqJrQZ3leTgqJHM | 
| git-codecommit.il-central-1.amazonaws.com | MD5 | 04:74:89:16:98:7a:61:b1:69:46:42:3c:d1:b4:ac:a9 | 
| git-codecommit.il-central-1.amazonaws.com | SHA256 | uFxhp51kUWhleTLeYbxQVYm4RnNLNZ5Dbdm1cgdSl/8 | 

## IAM 오류: 퍼블릭 키를 IAM에 추가하려고 시도할 때 '잘못된 형식' 오류가 나타납니다
<a name="troubleshooting-iam1"></a>

**문제:** IAM에서 CodeCommit과 함께 SSH를 사용하도록 설정할 때 퍼블릭 키를 추가하려고 시도하면 `Invalid format` 문구가 포함된 오류 메시지가 나타납니다.

**가능한 해결 방법:** IAM은 퍼블릭 키가 ssh-rsa 형식 또는 PEM 형식으로 인코딩되어야 합니다. IAM은 OpenSSH 형식의 공개 키만 허용하며, *IAM 사용 설명서*의 [CodeCommit과 함께 SSH 키 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html#ssh-keys-code-commit)에 명시된 것과 같은 추가 요구 사항들이 있습니다. 다른 형식으로 퍼블릭 키를 제공하거나 키에 필요한 비트 수가 없는 경우 이 오류가 나타납니다.
+ SSH 퍼블릭 키를 복사할 때 운영 체제에서 줄 바꿈이 발생했을 수도 있습니다. IAM에 추가한 퍼블릭 키에 줄 바꿈이 없는지 확인합니다.
+ 일부 Windows 운영 체제에서는 OpenSSH 형식을 사용하지 않습니다. 키 페어를 생성하고 IAM에서 요구하는 OpenSSH 형식을 복사하려면 [3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정](setting-up-ssh-windows.md#setting-up-ssh-windows-keys-windows) 섹션을 참조하세요.

IAM의 SSH 키에 필요한 요구 사항에 대해 자세히 알아보려면 *IAM 사용 설명서*에서 [CodeCommit에 SSH 키 사용](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html#ssh-keys-code-commit)을 참조하세요.

## SSH 보안 인증 정보를 사용하여 여러 Amazon Web Services 계정의 CodeCommit 리포지토리에 액세스해야 합니다
<a name="troubleshooting-ssh-multi"></a>

**문제:** 둘 이상의 Amazon Web Services 계정에서 CodeCommit 리포지토리에 대한 SSH 액세스를 설정하고 싶습니다.

**가능한 해결 방법:** Amazon Web Services 계정별로 고유한 SSH 공개/개인 키 페어를 생성하고 각 키로 IAM을 구성할 수 있습니다. 그런 다음 퍼블릭 키와 연결된 각 IAM 사용자 ID에 대한 정보로 \$1/.ssh/config 파일을 구성할 수 있습니다. 예제:

```
Host codecommit-1
    Hostname git-codecommit.us-east-1.amazonaws.com
    User SSH-KEY-ID-1 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 1 (for example, APKAEIBAERJR2EXAMPLE1).
    IdentityFile ~/.ssh/codecommit_rsa # This is the path to the associated public key file, such as id_rsa.  We advise creating CodeCommit specific _rsa files.
 
Host codecommit-2
    Hostname git-codecommit.us-east-1.amazonaws.com
    User SSH-KEY-ID-2 # This is the SSH Key ID you copied from IAM in Amazon Web Services account 2 (for example, APKAEIBAERJR2EXAMPLE2).
    IdentityFile ~/.ssh/codecommit_2_rsa # This is the path to the other associated public key file.  We advise creating CodeCommit specific _rsa files.
```

이 구성에서는 'git-codecommit.us-east-1.amazonaws.com'을 'codecommit-2'로 바꿀 수 있습니다. 예를 들어, 두 번째 Amazon Web Services 계정의 리포지토리를 복제하려면 다음과 같이 합니다.

```
git clone ssh://codecommit-2/v1/repos/YourRepositoryName
```

리포지토리에 원격 설정을 하려면 **git remote add**를 실행합니다. 예제:

```
git remote add origin ssh://codecommit-2/v1/repos/YourRepositoryName
```

더 많은 예시를 보려면 [이 포럼의 게시물](https://forums.aws.amazon.com/thread.jspa?messageID=711158) 및 [GitHub에 대한 이 기고문](https://gist.github.com/justinpawela/3a7056cd592d688425e59de2ef6f1da0)을 참조하세요.

## Windows에서의 Git: SSH를 사용하여 연결을 시도할 때 Bash 에뮬레이터 또는 명령줄이 중지됩니다
<a name="troubleshooting-gw2"></a>

**문제:** Windows에 대한 SSH 액세스를 구성하고 명령줄이나 터미널에서 연결을 확인한 후 명령 프롬프트 또는 Bash 에뮬레이터에서 **git pull**, **git push** 또는 **git clone**과 같은 명령을 사용할 때 레지스트리에서 서버의 호스트 키를 캐시할 수 없다는 메시지가 나타나고 캐시에서 키를 저장할 프롬프트가 중지(y/n/return 입력이 수락되지 않음)됩니다.

**수정 방법:** 이 오류가 발생하는 가장 일반적인 원인은 Git 환경이 인증에 필요한 OpenSSH가 아닌 다른 방식(예: PuTTY)을 사용하도록 구성되었기 때문입니다. 이는 일부 구성에서 키의 캐싱 문제를 유발하는 것으로 알려져 있습니다. 이 문제를 수정하려면 다음 중 한 가지를 시도합니다.
+ Bash 에뮬레이터를 열고 `GIT_SSH_COMMAND="ssh"` 파라미터를 Git 명령 앞에 추가합니다. 예를 들어 리포지토리로 푸시를 시도하는 경우, **git push**를 입력하는 대신 다음을 입력합니다.

  ```
  GIT_SSH_COMMAND="ssh" git push
  ```
+ PuTTY를 설치한 경우에는 PuTTY를 열고 **호스트 이름(또는 IP 주소)**에, 도달하려는 엔드포인트(예: git-codecommit.us-east-2.amazonaws.com)를 입력합니다. **열기**를 선택합니다. PuTTY 보안 알림을 통해 메시지가 나타나면 **예**를 선택하여 키를 영구적으로 캐싱합니다.
+ `GIT_SSH` 환경 변수의 이름은 더 이상 사용하지 않으면 바꾸거나 삭제합니다. 새 명령 프롬프트 또는 Bash 에뮬레이터 세션을 연 다음 명령을 다시 시도합니다.

다른 해결 방법은 Stack Overflow의 [Git clone/pull continually freezing at Store key in cache](http://stackoverflow.com/questions/33240137/git-clone-pull-continually-freezing-at-store-key-in-cache)를 참조하세요.

## 일부 Linux 배포판에 공개 키 형식을 지정해야 합니다
<a name="troubleshooting-os-syn2"></a>

**문제:** 공개-개인 키 페어를 구성하려고 하면 오류가 발생합니다.

**가능한 해결 방법:** 일부 Linux 배포판에서는 허용되는 공개 키 유형을 명시하는 `~/.ssh/config` 파일에 추가 구성 행이 필요합니다. 자세한 내용은 `PubkeyAcceptedKeyTypes` 배포에 대한 설명서를 참조하세요.

## 액세스 오류: CodeCommit 리포지토리에 연결할 때 SSH 퍼블릭 키가 거부됩니다
<a name="troubleshooting-permission-denied-ssh-key"></a>

**문제:** SSH 엔드포인트를 사용하여 CodeCommit 리포지토리와 통신을 시도할 때, `Error: public key denied` 문구를 포함한 오류 메시지가 나타납니다.

**수정 방법:** SSH 연결을 위한 설정을 완료하지 않은 것이 이 오류의 가장 일반적인 원인입니다. 퍼블릭 또는 프라이빗 SSH 키 페어를 구성한 다음 퍼블릭 키를 IAM 사용자와 연결합니다. SSH 구성에 대한 자세한 내용은 [Linux, macOS, Unix에서 SSH 연결](setting-up-ssh-unixes.md) 및 [Windows에서 SSH 연결](setting-up-ssh-windows.md) 단원을 참조하세요.

# 에 대한 자격 증명 헬퍼 및 HTTPS 연결 문제 해결 AWS CodeCommit
<a name="troubleshooting-ch"></a>

다음 정보는 AWS CLI 및 HTTPS에 포함된 자격 증명 헬퍼를 사용하여 CodeCommit 리포지토리에 연결할 때 발생하는 일반적인 문제를 해결하는 데 도움이 될 수 있습니다.

**참고**  
보안 인증 도우미는 페더레이션 액세스, ID 공급자 또는 임시 보안 인증 정보를 사용하여 CodeCommit에 연결하는 데 지원되는 방법이지만 **git-remote-codecommit** 유틸리티를 설치하고 사용하는 것이 좋습니다. 자세한 내용은 [git-remote-codecommit을 AWS CodeCommit 사용하여에 대한 HTTPS 연결을 위한 설정 단계](setting-up-git-remote-codecommit.md) 단원을 참조하십시오.

**Topics**
+ [보안 인증 도우미를 구성하는 `git config` 명령을 실행할 때 오류가 발생합니다.](#troubleshooting-os-syn1)
+ [리포지토리 복제를 시도할 때 사용자 이름 읽기에 오류가 표시됩니다.](#troubleshooting-gitconfig1)
+ [보안 인증 도우미를 사용할 때 Windows에서 명령을 찾을 수 없음 오류가 발생합니다.](#troubleshooting-py3)
+ [CodeCommit 리포지토리에 연결할 때 사용자 이름을 묻는 메시지가 표시됩니다.](#troubleshooting-ae1)
+ [macOS용 Git: 보안 인증 도우미를 성공적으로 구성했지만 현재 내 리포지토리에 액세스가 거부되었습니다(403).](#troubleshooting-macoshttps)
+ [Windows용 Git: Windows용 Git을 설치했지만 내 리포지토리에 액세스가 거부되었습니다(403).](#troubleshooting-windowshttps)

## 보안 인증 도우미를 구성하는 `git config` 명령을 실행할 때 오류가 발생합니다.
<a name="troubleshooting-os-syn1"></a>

**문제:** git config 명령을 실행하여 CodeCommit 리포지토리와 통신하도록 보안 인증 도우미를 구성하려고 하면, 인수가 너무 적다는 오류가 표시되거나 Git config 명령 및 구문을 제안하는 사용 프롬프트가 표시됩니다.

**가능한 해결 방법:** 이 오류가 발생하는 가장 일반적인 이유는 Windows 운영 체제의 명령어에 작은따옴표가 사용되거나 Linux, macOS, Unix 운영 체제의 명령어에 큰따옴표가 사용되기 때문입니다. 정확한 구문은 다음과 같습니다.
+ Windows: `git config --global credential.helper "!aws codecommit credential-helper $@"`
+ Linux, macOS, Unix: `git config --global credential.helper '!aws codecommit credential-helper $@'`

## 리포지토리 복제를 시도할 때 사용자 이름 읽기에 오류가 표시됩니다.
<a name="troubleshooting-gitconfig1"></a>

**문제:** 자격 증명 도우미를 사용하여 리포지토리를 복제하려고 하면 시스템이 리포지토리 URL의 사용자 이름을 읽을 수 없다는 오류가 표시됩니다.

**수정 방법:**이 오류의 가장 일반적인 이유는 컴퓨터에서 .gitconfig 파일이 올바르게 생성되거나 구성되지 않았기 때문입니다. .gitconfig 파일을 열고 자격 증명 도우미가 올바르게 설정되었는지 확인합니다. Linux, macOS 또는 Unix를 실행하는 컴퓨터에 있는 경우의 `$HOME `값이 시스템에 맞게 올바르게 설정되어 있는지도 확인합니다.

## 보안 인증 도우미를 사용할 때 Windows에서 명령을 찾을 수 없음 오류가 발생합니다.
<a name="troubleshooting-py3"></a>

**문제:** AWS CLI를 업데이트한 후 CodeCommit 리포지토리에 대한 자격 증명 헬퍼 연결은에서 실패합니다`aws codecommit credential-helper $@ get: aws: command not found`.

**원인**:이 오류의 가장 일반적인 이유는 AWS CLI 버전이 Python 3을 사용하는 버전으로 업데이트되었기 때문입니다. MSI 패키지에 알려진 문제가 있습니다. 영향받는 버전 중 하나가 있는지 확인하려면, 명령줄을 열고 `aws --version` 명령을 실행합니다.

결과 Python 버전이 3으로 시작한다면, 영향을 받은 버전이 있는 것입니다. 예제: 

```
aws-cli/1.16.62 Python/3.6.2 Darwin/16.7.0 botocore/1.12.52
```

**수정 방법:** 다음 중 하나를 수해하여 이러한 문제를 해결할 수 있습니다.
+ MSI 대신 Python 및 pip를 사용하여 Windows AWS CLI 에를 설치하고 구성합니다. 자세한 내용은 [Windows AWS CLI 에서 Python, pip 및 설치를 참조하세요](https://docs.aws.amazon.com/cli/latest/userguide/install-windows.html#awscli-install-windows-pip).
+ `.gitconfig` 파일을 수동으로 편집함으로써 `[credential]` 섹션을 변경하여 로컬 컴퓨터에서 `aws.cmd`를 명시적으로 가리킵니다. 예제:

  ```
  [credential]    
      helper = !"\C:\\Program Files\\Amazon\\AWSCLI\\bin\\aws.cmd\" codecommit credential-helper $@ 
      UseHttpPath = true
  ```
+ **git config** 명령의 실행을 통해 `.gitconfig` 파일을 업데이트하여 `aws.cmd`를 명시적으로 참조하고 PATH 환경 변수를 수동으로 업데이트하여 필요한 명령에 대한 경로를 포함시킵니다. 예제: 

  ```
  git config --global credential.helper "!aws.cmd codecommit credential-helper $@"
  git config --global credential.UseHttpPath true
  ```

## CodeCommit 리포지토리에 연결할 때 사용자 이름을 묻는 메시지가 표시됩니다.
<a name="troubleshooting-ae1"></a>

**문제:** 보안 인증 도우미를 사용해 CodeCommit 리포지토리와 통신을 시도할 때, 사용자 이름을 묻는 메시지가 나타납니다.

**수정 방법:** AWS 프로필을 구성하거나 사용 중인 프로필이 CodeCommit 작업을 위해 구성한 프로필인지 확인합니다. 설정에 대한 자세한 내용은 [AWS CLI 자격 증명 헬퍼를 사용하여 Linux, macOS 또는 Unix의 AWS CodeCommit 리포지토리에 대한 HTTPS 연결 설정 단계](setting-up-https-unixes.md) 또는 [AWS CLI 자격 증명 헬퍼를 사용하여 Windows의 AWS CodeCommit 리포지토리에 대한 HTTPS 연결을 위한 설정 단계](setting-up-https-windows.md) 단원을 참조하세요. IAM, 액세스 키, 보안 키에 등에 대한 자세한 내용은 [IAM 사용자의 액세스 키 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingCredentials.html) 및 [보안 인증 정보를 얻는 방법](https://docs.aws.amazon.com/IAM/latest/UserGuide/IAM_Introduction.html#IAM_SecurityCredentials)을 참조하세요.

## macOS용 Git: 보안 인증 도우미를 성공적으로 구성했지만 현재 내 리포지토리에 액세스가 거부되었습니다(403).
<a name="troubleshooting-macoshttps"></a>

**문제:** macOS에서 보안 인증 도우미가 예상대로 보안 인증 정보를 사용 또는 액세스하지 않은 것 같습니다. 이는 다음과 같은 두 가지 문제로 인해 발생할 수 있습니다.
+  AWS CLI 는 리포지토리가 있는와 AWS 리전 다른에 대해 구성됩니다.
+ Keychain Access 유틸리티가 만료된 보안 인증 정보를 저장했습니다.

**수정 방법: ** AWS CLI 가 올바른 리전에 대해 구성되어 있는지 확인하려면 **aws configure** 명령을 실행하고 표시된 정보를 검토합니다. CodeCommit 리포지토리가에 표시된 것과 AWS 리전 다른에 AWS CLI있는 경우 **aws configure** 명령을 실행하고 값을 해당 리전에 적합한 값으로 변경해야 합니다. 자세한 내용은 [1단계: CodeCommit에 대한 초기 구성](setting-up-https-unixes.md#setting-up-https-unixes-account) 단원을 참조하십시오.

 OS X 및 macOS에 출시된 Git의 기본 버전은 Keychain Access 유틸리티를 사용하여 생성된 보안 인증 정보를 저장합니다. 보안상의 이유로 CodeCommit 리포지토리에 액세스하기 위해 생성된 암호는 임시 암호이므로, 키체인에 저장된 보안 인증 정보는 약 15분 후에 작동을 멈춥니다. CodeCommit으로 Git 액세스만 하는 경우 다음을 시도합니다.

1. 터미널에서 **git config** 명령을 실행하여 Keychain Access 유틸리티가 정의된 Git 구성 파일(`gitconfig`)을 찾습니다. 로컬 시스템과 기본 설정에 따라서 `gitconfig` 파일을 하나 이상 가질 수 있습니다.

   ```
   git config -l --show-origin | grep credential
   ```

   이 명령의 출력에서 다음과 유사한 결과를 검색합니다.

   ```
   file:/path/to/gitconfig  credential.helper=osxkeychain
   ```

   이 줄의 시작 부분에 나열된 파일이 편집 대상인 Git 구성 파일입니다.

1. Git 구성 파일을 편집하려면 평문 편집기를 사용하거나 다음 명령을 실행합니다.

   ```
   nano /usr/local/git/etc/gitconfig
   ```

1. 다음 전략 중 하나를 사용하여 구성을 수정합니다.
   + `helper = osxkeychain`을 포함하는 보안 인증 정보 섹션을 주석 처리하거나 삭제합니다. 예제:

     ```
     # helper = osxkeychain
     ```
   + 컨텍스트가 포함되도록 `aws credential helper` 및 `osxkeychain` 보안 인증 도우미를 모두 업데이트합니다. 예를 들어, `osxkeychain`이 GitHub를 인증하는 데 사용되는 경우에는 다음과 같습니다.

     ```
     [credential "https://git-codecommit.us-east-1.amazonaws\.com"]
       helper = !aws --profile CodeCommitProfile codecommit credential-helper $@
       UseHttpPath = true
     [credential "https://github.com"]
       helper = osxkeychain
     ```

     이 구성에서 Git은 원격 호스트가 ‘`https://github.com`’과 일치하면 `osxkeychain` 도우미를 사용하고 원격 호스트가 ‘`https://git-codecommit\.us-east-1\.amazonaws.com`’과 일치하면 보안 인증 도우미를 사용합니다.
   + 보안 인증 도우미 앞에 빈 문자열 도우미를 포함시킵니다. 예를 들어 CLI에서 *CodeCommitProfile*이라는 프로필을 사용할 때 `osxkeychain` 헬퍼를 사용하지 않으려면

     ```
     [credential]
       helper =
       helper = !aws --profile CodeCommitProfile codecommit credential-helper $@
       UseHttpPath = true
     ```
**작은 정보**  
모든 프로필을 제외하려는 경우 CodeCommit과 일치하지 않도록 빈 문자열 헬퍼 줄 다음에 줄을 구성할 수도 있습니다.  

     ```
     helper = !aws codecommit credential-helper $@
     ```

   Keychain Access 유틸리티를 계속 이용해 다른 Git 리포지토리의 보안 인증 정보를 캐시하고 싶다면, 명령줄을 코멘트 아웃하는 대신 헤더를 수정해야 합니다. 예를 들어 캐시된 보안 인증 정보를 GitHub에서 허용하고 싶다면, 헤더를 다음과 같이 수정해야 합니다.

   ```
   [credential "https://github.com"]
      helper = osxkeychain
   ```

Git으로 다른 리포지토리에 액세스한다면, CodeCommit 리포지토리에 필요한 보안 인증 정보를 제공하지 않도록 Keychain Access 유틸리티를 구성할 수 있습니다. Keychain Access 유틸리티를 구성하려면 다음을 수행합니다.

1. Keychain Access 유틸리티를 실행합니다. (Finder를 사용하여 이 유틸리티를 찾을 수 있습니다.)

1. *us-east-2*를 검색`git-codecommit.us-east-2.amazonaws.com`하고 리포지토리 AWS 리전 가 있는 로 바꿉니다. 행을 강조 표시하고 마우스 오른쪽 버튼을 클릭하여 컨텍스트 메뉴를 연 다음 **정보 가져오기**를 선택합니다.

1. **액세스 제어** 탭을 선택합니다.

1. **액세스 허용 전 확인**에서 `git-credential-osxkeychain`을 선택한 후 마이너스 기호를 선택하여 목록에서 제거합니다.
**참고**  
목록에서 `git-credential-osxkeychain`을 제거하면 Git 명령을 실행할 때마다 대화 상자가 나타납니다. **거부**를 선택하여 계속 진행합니다. 팝업이 너무 많이 나타나는 경우 다음과 같이 몇 가지 대체 옵션이 있습니다.  
HTTPS를 통한 보안 인증 도우미 대신 SSH나 Git 보안 인증 정보를 사용하여 CodeCommit에 연결합니다. 자세한 내용은 [Linux, macOS, Unix에서 SSH 연결](setting-up-ssh-unixes.md) 및 [Git 보안 인증 정보를 사용하는 HTTPS 사용자를 위한 설정](setting-up-gc.md) 섹션을 참조하세요.
Keychain Access 유틸리티 내, `git-codecommit.us-east-2.amazonaws.com`에 대한 **액세스 제어** 탭에서 **모든 애플리케이션이 이 항목에 액세스하도록 허용(이 항목에 대한 액세스는 제한되지 않음)** 옵션을 선택합니다. 이렇게 하면 팝업이 표시되지 않지만 자격 증명은 결국 만료되며(평균 약 15분 소요) 그 다음에는 403 오류 메시지가 표시됩니다. 이 경우 기능을 복원하려면 키체인 항목을 삭제해야 합니다.
키 체인을 사용하도록 기본 설정되어 있지 않은 Git 버전을 설치합니다.
Keychain 항목을 삭제하기 위한 스크립팅 솔루션을 고려합니다. 커뮤니티에서 생성한 스크립트 솔루션의 샘플을 열람하려면, [제품 및 서비스 통합](integrations.md) 섹션에서 [OS X 인증서 저장소에 있는 캐시된 보안 인증 정보를 주기적으로 삭제하는 Mac OS X 스크립트](integrations.md#integrations-community-code)를 참조하세요.

Git이 Keychain Access 유틸리티를 아예 사용하지 못하도록 하려면 보안 인증 도우미로 'osxkeychain'을 사용하지 않도록 Git을 구성할 수 있습니다. 예를 들어 터미널을 열고 `git config --system credential.helper` 명령을 실행해 `osxkeychain`이 반환되면 Keychain Access 유틸리티를 사용하도록 Git가 설정됩니다. 다음 명령을 실행하여 이를 변경할 수 있습니다.

```
git config --system --unset credential.helper
```

주의하세요. `--system` 옵션을 사용하여 이 명령을 실행하면 모든 사용자에 대해 시스템 전체의 Git 동작이 변경되며, 이에 따라 CodeCommit 외에 다른 리포지토리 서비스를 사용 중인 경우에는 다른 리포지토리에 의도치 않은 결과가 초래될 수 있습니다. 또한 이 방법은 `sudo` 사용이 필요할 수 있으며, 이 변경을 적용하기에 충분한 권한이 계정에 없을 수 있다는 점에 유의하세요. `git config --system credential.helper` 명령을 다시 실행하여 명령이 성공적으로 적용되었는지 확인하십시오. 자세한 내용은 [Git 사용자 지정 - Git 구성](https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration) 및 [스택 오버플로우에 대한 이 기사](https://stackoverflow.com/questions/16052602/disable-git-credential-osxkeychain)를 참조하세요.

## Windows용 Git: Windows용 Git을 설치했지만 내 리포지토리에 액세스가 거부되었습니다(403).
<a name="troubleshooting-windowshttps"></a>

**문제:** Windows에서 보안 인증 도우미가 필요한 보안 인증 정보를 사용 또는 액세스하지 않은 것 같습니다. 이는 다음과 같은 다른 문제로 인해 발생할 수 있습니다.
+  AWS CLI 는 리포지토리가 있는와 AWS 리전 다른에 대해 구성됩니다.
+ 기본적으로 Git for Windows는 자격 증명 헬퍼를 사용하는 CodeCommit 연결과 호환되지 않는 Git AWS Credential Manager 유틸리티를 설치합니다. 설치하면 자격 증명 헬퍼가와 함께 설치되고 CodeCommit에 연결하도록 AWS CLI 구성되었더라도 리포지토리에 대한 연결이 실패합니다.
+ Windows용 Git의 일부 버전은 [RFC 2617](https://tools.ietf.org/html/rfc2617#page-5) 및 [RFC 4559](https://tools.ietf.org/html/rfc4559#page-2)를 완전히 준수하지 않을 수 있으며, 잠재적으로 AWS CLI와 함께 포함된 Git 보안 인증 정보 및 보안 인증 도우미 모두에 대해 문제를 발생시킬 수 있습니다. 자세한 내용은 [Version 2.11.0(3) does not ask for username/password](https://github.com/git-for-windows/git/issues/1034)를 참조하세요.

**수정 방법:** 
+ 에 포함된 자격 증명 헬퍼를 사용하려는 경우 자격 증명 헬퍼를 사용하는 대신 HTTPS를 통해 Git 자격 증명을 연결하는 것이 AWS CLI좋습니다. IAM 사용자에게 구성된 Git 보안 인증 정보는 AWS CodeCommit의 보안 인증 도우미와 달리 Windows용 Git 보안 인증 정보 관리자와 호환 가능합니다. 자세한 내용은 [Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우](setting-up-gc.md) 단원을 참조하십시오.

  자격 증명 헬퍼를 사용하려면 AWS CLI 가 올바른에 대해 구성되어 있는지 확인하고 AWS 리전, **aws configure** 명령을 실행하고, 표시된 정보를 검토합니다. CodeCommit 리포지토리가에 표시된 것과 AWS 리전 다른에 AWS CLI있는 경우 **aws configure** 명령을 실행하고 값을 해당 리전에 적합한 값으로 변경해야 합니다. 자세한 내용은 [1단계: CodeCommit에 대한 초기 구성](setting-up-https-windows.md#setting-up-https-windows-account) 단원을 참조하십시오.
+ 가능한 경우 Windows용 Git을 제거하고 다시 설치합니다. Windows용 Git을 설치할 때 Git Credential Manager 유틸리티 설치 옵션의 확인란 선택을 취소합니다. 이 보안 인증 정보 관리자는 AWS CodeCommit의 보안 인증 도우미와 호환되지 않습니다. Git 보안 인증 정보 관리자 또는 다른 보안 인증 정보 관리 유틸리티를 설치하고 제거하지 않으려는 경우, 다음과 같이 `.gitconfig` 파일을 수정하고 CodeCommit의 보안 인증 정보 관리를 추가할 수 있습니다.

  1. **제어판**을 열고 **보안 인증 정보 관리자**를 선택한 다음 저장된 모든 CodeCommit의 보안 인증 정보를 제거합니다.

  1. 메모장과 같은 평문 편집기에서 `.gitconfig` 파일을 엽니다.
**참고**  
여러 Git 프로필을 사용하는 경우 로컬 및 글로벌 `.gitconfig` 파일을 둘 다 가질 수 있습니다. 적합한 파일을 편집해야 합니다.

  1. 다음 섹션을 `.gitconfig` 파일에 추가합니다.

     ```
     [credential "https://git-codecommit.*.amazonaws.com"]
         helper = !aws codecommit credential-helper $@ 
         UseHttpPath = true
     ```

  1. 파일을 저장한 다음 새 명령줄 세션을 연 후 연결을 다시 시도합니다.

  CodeCommit 리포지토리에 연결할 AWS CodeCommit 때에 대한 자격 증명 헬퍼를 사용하고 GitHub 리포지토리와 같은 다른 호스팅 리포지토리에 연결할 때 다른 자격 증명 관리 시스템을 사용하려는 경우에도이 접근 방식을 사용할 수 있습니다.

  보안 인증 도우미가 기본값으로 사용되도록 재설정하려면 **git config** 명령을 실행할 때 **--global** 또는 **--local** 대신 **--system** 옵션을 사용할 수 있습니다.
+ Windows 컴퓨터에서 Git 보안 인증 정보를 사용하는 경우 연결 문자열의 일부로 Git 보안 인증 정보 사용자 이름을 포함하여 RFC 미준수 문제를 해결할 수 있습니다. 예를 들어, 이 문제를 해결하고 미국 동부(오하이오) 리전에서 *MyDemorepo*라는 리포지토리를 복제하려면 다음과 같이 합니다.

  ```
  git clone https://Your-Git-Credential-Username@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  ```
**참고**  
Git 보안 인증 정보 사용자 이름에 `@` 문자가 있는 경우, 이 방법은 효과가 없습니다. 문자에 대해 URL 인코딩(URL 이스케이프 또는 [퍼센트 인코딩](https://en.wikipedia.org/wiki/Percent-encoding)이라고도 함)을 수행해야 합니다.

# Git 클라이언트 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-git"></a>

다음 정보는 AWS CodeCommit 리포지토리에서 Git을 사용할 때 발생하는 일반적인 문제를 해결하는 데 도움이 됩니다. HTTPS 또는 SSH 사용 시 Git 클라이언트와 관련해 발생하는 문제를 해결하려면 [Git 보안 인증 정보(HTTPS) 문제 해결](troubleshooting-gc.md), [SSH 연결 문제 해결](troubleshooting-ssh.md), [보안 인증 도우미(HTTPS) 문제 해결](troubleshooting-ch.md) 섹션을 함께 참조하세요.

**Topics**
+ [Git 오류: RPC failed; result=56, HTTP code = 200 fatal: 원격 엔드가 예기치 않게 끊겼습니다](#troubleshooting-ge1)
+ [Git 오류: 참조 업데이트 명령이 너무 많습니다](#troubleshooting-ge2)
+ [Git 오류: 일부 Git 버전에서 HTTPS를 통한 푸시가 손상되었습니다](#troubleshooting-ge3)
+ [Git 오류: 'gnutls\$1handshake()가 실패했습니다'](#troubleshooting-ge4)
+ [Git 오류: Git이 CodeCommit 리포지토리를 찾을 수 없거나 리포지토리에 액세스할 권한이 없습니다](#troubleshooting-ge5)
+ [Windows의 Git: 지원되는 인증 방법이 없습니다 (퍼블릭키)](#troubleshooting-gw1)

## Git 오류: RPC failed; result=56, HTTP code = 200 fatal: 원격 엔드가 예기치 않게 끊겼습니다
<a name="troubleshooting-ge1"></a>

**문제:**대규모 변경 사항, 대량의 변경 사항 또는 대규모 리포지토리 푸시할 때는 장시간 실행 중인 HTTPS 연결이 네트워킹 문제나 방화벽 설정으로 인해 조기에 종료되는 경우가 많습니다.

**가능한 해결 방법:** SSH를 대신 사용하여 푸시하거나, 대규모 리포지토리를 마이그레이션하는 경우에는 [리포지토리를 증분으로 마이그레이션하기](how-to-push-large-repositories.md) 섹션의 다음 단계를 따릅니다. 또한 개별 파일의 크기 제한을 초과하지 않도록 합니다. 자세한 내용은 [할당량](limits.md) 단원을 참조하십시오.

## Git 오류: 참조 업데이트 명령이 너무 많습니다
<a name="troubleshooting-ge2"></a>

**문제:** 푸시당 최대 참조 업데이트 수는 4,000개입니다. 이 오류는 푸시에 4,000개 이상의 참조 업데이트가 포함되면 나타납니다.

**가능한 해결 방법:** `git push --all` 및 `git push --tags`를 사용하여 브랜치와 태그를 개별적으로 푸시합니다. 태그가 너무 많으면 태그를 여러 번으로 나누어 푸시합니다. 자세한 내용은 [할당량](limits.md) 단원을 참조하십시오.

## Git 오류: 일부 Git 버전에서 HTTPS를 통한 푸시가 손상되었습니다
<a name="troubleshooting-ge3"></a>

**문제:** curl을 7.41.0으로 업데이트하면서 발생하는 문제로 인해 SSPI 기반 다이제스트 인증이 실패합니다. 영향을 받는 것으로 알려진 Git 버전 중에는 1.9.5.msysgit.1이 포함되어 있습니다. Windows용 Git의 일부 버전은 [RFC 2617](https://tools.ietf.org/html/rfc2617#page-5) 및 [RFC 4559](https://tools.ietf.org/html/rfc4559#page-2)를 완전히 준수하지 않을 수 있으며, AWS CLI와 함께 포함된 Git 보안 인증 또는 보안 인증 도우미를 사용하여 HTTPS 연결에 관한 문제를 일으킬 가능성이 있습니다.

**가능한 해결 방법:** 사용 중인 Git 버전의 알려진 문제를 확인하거나, 이전 또는 이후 버전을 사용합니다. mysysgit에 대한 자세한 내용은 GitHub 포럼에서 [HTTPS를 통한 푸시가 손상되었습니다](https://github.com/msysgit/git/issues/332)를 참조하세요. Windows용 Git의 버전 문제에 대해 자세히 알아보려면 [버전 2.11.0(3)이 사용자 이름과 암호를 묻지 않습니다](https://github.com/git-for-windows/git/issues/1034)를 참조하세요.

## Git 오류: 'gnutls\$1handshake()가 실패했습니다'
<a name="troubleshooting-ge4"></a>

**문제:** Linux에서 Git을 사용하여 CodeCommit 리포지토리와 통신을 시도할 때 `error: gnutls_handshake() failed` 문구가 포함된 오류 메시지가 나타납니다.

**가능한 해결 방법:** OpenSSL에 대해 Git을 컴파일합니다. 한 가지 방안으로, Ubuntu에 질문하기 포럼에서 [HTTPS 서버에 연결 시 ‘오류: nutls\$1handshake() 실패’](http://askubuntu.com/questions/186847/error-gnutls-handshake-falied-when-connecting-to-https-servers)를 참조하세요.

또는 HTTPS 대신 SSH를 사용하여 CodeCommit 리포지토리와 통신할 수 있습니다.

## Git 오류: Git이 CodeCommit 리포지토리를 찾을 수 없거나 리포지토리에 액세스할 권한이 없습니다
<a name="troubleshooting-ge5"></a>

**문제:** 연결 문자열에 후행 슬래시가 있으면 연결 시도가 실패할 수 있습니다.

**가능한 해결 방법:** 리포지토리의 이름과 연결 문자열을 올바르게 입력했는지, 그리고 후행 슬래시가 없는지 확인합니다. 자세한 내용은 [리포지토리에 연결](how-to-connect.md) 단원을 참조하십시오.

## Windows의 Git: 지원되는 인증 방법이 없습니다 (퍼블릭키)
<a name="troubleshooting-gw1"></a>

**문제:** Windows용 SSH 액세스를 구성한 후, **git pull**, **git push**, **git clone**와 같은 명령어를 사용하려고 하면 액세스 거부 오류가 표시됩니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 GIT\$1SSH 환경 변수가 컴퓨터에 존재하고 PuTTY와 같은 다른 연결 유틸리티를 지원하도록 구성되어 있기 때문입니다. 이 문제를 수정하려면 다음 중 한 가지를 시도합니다.
+ Bash 에뮬레이터를 열고 `GIT_SSH_COMMAND="ssh"` 파라미터를 Git 명령 앞에 추가합니다. 예를 들어 리포지토리의 복제를 시도하는 경우에는 **git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo** 대신 다음을 실행합니다.

  ```
  GIT_SSH_COMMAND="ssh" git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
  ```
+ `GIT_SSH` 환경 변수의 이름은 더 이상 사용하지 않으면 바꾸거나 삭제합니다. 새 명령 프롬프트 또는 Bash 에뮬레이터 세션을 연 다음 명령을 다시 시도합니다.

SSH를 사용할 때 Windows에서 발생하는 Git 문제를 해결하는 방법에 대해 자세히 알아보려면 [SSH 연결 문제 해결](troubleshooting-ssh.md) 섹션을 참조하세요.

# 액세스 오류 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-ae"></a>

다음 정보는 AWS CodeCommit 리포지토리 연결 시 발생하는 액세스 오류를 해결하는 데 도움이 될 수 있습니다.

**Topics**
+ [액세스 오류: Windows에서 CodeCommit 리포지토리에 연결할 때 사용자 이름과 암호를 묻는 메시지가 나타납니다.](#troubleshooting-ae1w)
+ [액세스 오류: CodeCommit 리포지토리에 연결할 때 퍼블릭 키가 거부됩니다.](#troubleshooting-ae2)
+ [액세스 오류: CodeCommit 리포지토리에 연결할 때 “Rate Exceeded” 또는 “429” 메시지가 표시됩니다.](#troubleshooting-ae3)

## 액세스 오류: Windows에서 CodeCommit 리포지토리에 연결할 때 사용자 이름과 암호를 묻는 메시지가 나타납니다.
<a name="troubleshooting-ae1w"></a>

**문제:** Git을 사용하여 CodeCommit 리포지토리와 통신을 시도할 때 사용자 이름과 암호를 묻는 대화 상자가 나타납니다.

**수정 방법:** 이것은 Windows의 기본 제공 보안 인증 정보 관리 시스템일 수 있습니다. 구성에 따라 다음 중 하나를 수행합니다.
+ Git 보안 인증 정보와 함께 HTTPS를 사용하려는 경우 Git 보안 인증 정보가 시스템에 아직 저장되어 있지 않습니다. Git 보안 인정 정보를 제공하고 계속 진행합니다. 다시 메시지가 표시되지 않습니다. 자세한 내용은 [Git 보안 인증 정보를 사용하는 HTTPS 사용자의 경우](setting-up-gc.md) 단원을 참조하십시오.
+ 자격 증명 도우미와 함께 HTTPS를 사용하는 경우 Windows 자격 증명 관리 시스템과 호환 AWS CodeCommit되지 않습니다. **취소**를 선택합니다.

  또한 Windows용 Git를 설치할 때 Git 보안 인증 정보 관리자를 설치했음을 표시한 것일 수 있습니다. Git 보안 인증 정보 관리자는 AWS CLI에 포함된 CodeCommit용 보안 인증 도우미와 호환되지 않습니다. Git 보안 인증 정보 관리자를 제거하는 것을 고려하세요. CodeCommit용 보안 인증 도우미를 사용하는 대신 **git-remote-codecommit**를 설치하고 구성할 수도 있습니다.

  자세한 내용은 [git-remote-codecommit을 AWS CodeCommit 사용하여에 대한 HTTPS 연결을 위한 설정 단계](setting-up-git-remote-codecommit.md), [자격 AWS CLI 증명 헬퍼를 사용하여 Windows에서 HTTPS 연결](setting-up-https-windows.md), [Windows용 Git: Windows용 Git을 설치했지만 내 리포지토리에 액세스가 거부되었습니다(403).](troubleshooting-ch.md#troubleshooting-windowshttps) 섹션을 참조하세요.

## 액세스 오류: CodeCommit 리포지토리에 연결할 때 퍼블릭 키가 거부됩니다.
<a name="troubleshooting-ae2"></a>

**문제:** SSH 엔드포인트를 사용하여 CodeCommit 리포지토리와 통신을 시도할 때 `Error: public key denied` 문구가 포함된 오류 메시지가 나타납니다.

**수정 방법:** SSH 연결을 위한 설정을 완료하지 않은 것이 이 오류의 가장 일반적인 원인입니다. 퍼블릭 또는 프라이빗 SSH 키 페어를 구성한 다음 퍼블릭 키를 IAM 사용자와 연결합니다. SSH 구성에 대한 자세한 내용은 [Linux, macOS, Unix에서 SSH 연결](setting-up-ssh-unixes.md) 및 [Windows에서 SSH 연결](setting-up-ssh-windows.md) 섹션을 참조하세요.

## 액세스 오류: CodeCommit 리포지토리에 연결할 때 “Rate Exceeded” 또는 “429” 메시지가 표시됩니다.
<a name="troubleshooting-ae3"></a>

**문제:** CodeCommit 리포지토리와 통신을 시도할 때 “Rate Exceeded” 또는 오류 코드 “429”가 포함된 메시지가 표시됩니다. 통신 속도가 상당히 느려지거나 통신에 실패합니다.

**원인:** 애플리케이션, , AWS CLI Git 클라이언트 또는의 CodeCommit에 대한 모든 호출 AWS Management Console에는 초당 최대 요청 수와 전체 활성 요청이 적용됩니다. 의 Amazon Web Services 계정에 허용되는 최대 요청 속도를 초과할 수 없습니다 AWS 리전. 최대 요청 빈도를 넘길 경우, 오류가 수신되며 그 이상의 호출은 Amazon Web Services 계정에 대해 일시적으로 병목 현상을 일으킵니다. 제한이 존재하는 동안에는 CodeCommit에 대한 연결 속도가 느려지거나 연결이 실패할 수 있습니다.

**가능한 해결 방법:** CodeCommit에 대한 연결 수 또는 호출 수를 낮추거나 요청을 분산시키는 조치를 취합니다. 고려해야 할 몇 가지 접근 방식:
+ **요청에, 특히 정기적인 폴링 요청에 지터 실행**

  CodeCommit을 정기적으로 폴링하는 애플리케이션이 여러 Amazon EC2 인스턴스에서 실행되는 경우, 1초 단위의 시간 내에 서로 다른 Amazon EC2 인스턴스가 폴링하지 않도록 지터(무작위적인 양의 지연)를 도입합니다. 1분의 시간에 걸쳐 폴링 메커니즘을 균등하게 배포하는 데에는 0초\$159초 사이의 임의 숫자가 좋습니다.
+ **폴링보다는 이벤트 기반 아키텍처 사용**

  이벤트가 발생할 때 호출만 생성되도록, 폴링이 아닌 이벤트 기간 아키텍처를 사용합니다. [AWS CodeCommit 이벤트에 대해](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/EventTypes.html#codecommit_event_type) CloudWatch Events 알림을 사용하여 워크플로를 트리거하는 것을 고려하세요.
+ **오류 재시도 실행과 API 및 자동화된 Git 작업에 대한 지수 백오프**

  오류 재시도 및 지수 백오프를 통해 호출 속도를 제한할 수 있습니다. 각 AWS SDK는 자동 재시도 로직과 지수 백오프 알고리즘을 구현합니다. 자동화된 Git 푸시 및 Git 가져오기에 대해서는 자체적인 재시도 로직을 실행해야 할 수 있습니다. 자세한 내용은 [오류 재시도 및 지수 백오프를 AWS](https://docs.aws.amazon.com/general/latest/gr/api-retries.html) 참조하세요.
+ ** AWS 지원 센터에 CodeCommit 서비스 할당량 증가 요청**

  서비스 제한 증가 혜택을 누리려면 오류 재시도 또는 지수 백오프의 실행 등 여기에 제시된 제안을 이미 따랐음을 확인해야 합니다. 요청 시 제한 문제의 영향을 받는 AWS 리전 Amazon Web Services 계정 및 기간도 제공해야 합니다.



# 구성 오류 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-cf"></a>

다음 정보는 AWS CodeCommit 리포지토리에 연결할 때 발생할 수 있는 구성 오류를 해결하는 데 도움이 될 수 있습니다.

**Topics**
+ [구성 오류: macOS에서 AWS CLI 자격 증명을 구성할 수 없음](#troubleshooting-cf1)

## 구성 오류: macOS에서 AWS CLI 자격 증명을 구성할 수 없음
<a name="troubleshooting-cf1"></a>

**문제:**를 구성`aws configure`하기 위해를 실행하면 `ConfigParseError` 메시지가 AWS CLI표시됩니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 보안 인증 정보 파일이 이미 존재하기 때문입니다. \$1/.aws로 이동하여 `credentials`라는 이름의 파일을 찾습니다. 해당 파일을 개명하거나 삭제한 다음 **aws configure**를 다시 실행합니다.

# 콘솔 오류 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-cs"></a>

다음 정보는 AWS CodeCommit 리포지토리 사용 시 발생하는 콘솔 오류를 해결하는 데 도움이 될 수 있습니다.

**Topics**
+ [액세스 오류: 콘솔 또는에서 CodeCommit 리포지토리에 대한 암호화 키 액세스가 거부됨 AWS CLI](#troubleshooting-ae3)
+ [암호화 오류: 리포지토리를 해독할 수 없습니다.](#troubleshooting-ck1)
+ [콘솔 오류: 콘솔에서 CodeCommit 리포지토리의 코드를 검색할 수 없습니다.](#troubleshooting-cs1)
+ [디스플레이 오류: 파일을 열람하거나 파일 간 비교를 볼 수 없습니다.](#troubleshooting-dd1)

## 액세스 오류: 콘솔 또는에서 CodeCommit 리포지토리에 대한 암호화 키 액세스가 거부됨 AWS CLI
<a name="troubleshooting-ae3"></a>

**문제:** 콘솔 또는에서 CodeCommit에 액세스하려고 하면 `EncryptionKeyAccessDeniedException` 또는 문구가 포함된 AWS CLI오류 메시지가 나타납니다`User is not authorized for the KMS default key for CodeCommit 'aws/codecommit' in your account`.

**가능한 해결 방법:**이 오류의 가장 일반적인 원인은 CodeCommit에 AWS Key Management Service필요한 Amazon Web Services 계정이 구독되지 않았기 때문입니다. AWS KMS 콘솔을 열고 **AWS 관리형 키를** 선택한 다음 **지금 시작하기를** 선택합니다. 현재 AWS Key Management Service 서비스를 구독하고 있지 않다는 메시지가 표시되면 해당 페이지의 지침에 따라 구독합니다. CodeCommit 및에 대한 자세한 내용은 섹션을 AWS Key Management Service참조하세요[AWS KMS 및 암호화](encryption.md).

## 암호화 오류: 리포지토리를 해독할 수 없습니다.
<a name="troubleshooting-ck1"></a>

**문제:** 콘솔 또는에서 CodeCommit 리포지토리에 액세스하려고 하면 문구가 포함된 AWS CLI오류 메시지가 나타납니다`Repository can't be decrypted`.

**가능한 해결 방법:**이 오류의 가장 일반적인 원인은이 리포지토리의 데이터를 암호화하고 복호화하는 데 사용되는 AWS KMS 키가 활성 상태가 아니거나 삭제 보류 중이 아니기 때문입니다. CodeCommit에는의 활성 AWS 관리형 키 또는 고객 관리형 키 AWS Key Management Service가 필요합니다. AWS KMS 콘솔을 열고 **AWS 관리형 키** 또는 **고객 관리형 키를** 선택한 다음 리포지토리에 사용되는 키가 리포지토리가 AWS 리전 있는에 있고 상태가 **활성**인지 확인합니다. CodeCommit 및에 대한 자세한 내용은 섹션을 AWS Key Management Service참조하세요[AWS KMS 및 암호화](encryption.md).

**중요**  
리포지토리의 데이터를 암호화하고 해독하는 데 사용된 키가 영구적으로 삭제되었거나 다른 방법으로 액세스할 수 없는 경우 해당 키로 암호화된 리포지토리의 데이터에 액세스할 수 없습니다.

## 콘솔 오류: 콘솔에서 CodeCommit 리포지토리의 코드를 검색할 수 없습니다.
<a name="troubleshooting-cs1"></a>

**문제:** 콘솔에서 리포지토리의 콘텐츠를 검색하려고 하면 액세스를 거부하는 오류 메시지가 나타납니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 Amazon Web Services 계정에 적용된 IAM 정책이 CodeCommit 콘솔에서 코드를 검색하는 데 필요한 권한을 하나 이상 거부하기 때문입니다. CodeCommit 액세스 권한 및 검색에 대한 자세한 내용은 [에 대한 인증 및 액세스 제어 AWS CodeCommit](auth-and-access-control.md) 섹션을 참조하세요.

## 디스플레이 오류: 파일을 열람하거나 파일 간 비교를 볼 수 없습니다.
<a name="troubleshooting-dd1"></a>

**문제:** CodeCommit 콘솔에서 파일을 열람하거나 한 파일의 두 버전 간 비교를 보려 하면 파일 또는 차이점 내용이 너무 커서 표시할 수 없다는 오류가 나타납니다.

**가능한 해결 방법:** 이 오류의 가장 일반적인 원인은 파일이 너무 커서 표시할 수 없거나, 파일의 한 줄에 대한 문자 제한을 초과하는 줄이 하나 이상 포함되어 있거나, 파일의 두 버전 간의 차이점 내용이 줄 제한을 초과하기 때문입니다. 자세한 내용은 [할당량](limits.md) 단원을 참조하십시오. 파일 또는 파일 버전 간의 차이를 보려면 원하는 IDE에서 로컬로 파일을 열거나, Git diff 도구를 사용하거나, **git diff** 명령을 실행할 수 있습니다.

# 트리거 및 문제 해결 AWS CodeCommit
<a name="troubleshooting-ti"></a>

다음은 AWS CodeCommit에서 트리거로 발생하는 문제를 해결하는 데 유용한 정보입니다.

**Topics**
+ [트리거 오류: 리포지토리 트리거가 예상대로 실행되지 않습니다](#troubleshooting-ti1)

## 트리거 오류: 리포지토리 트리거가 예상대로 실행되지 않습니다
<a name="troubleshooting-ti1"></a>

**문제:** 리포지토리에 구성된 하나 이상의 트리거가 실행되지 않는 것처럼 보이거나 예상대로 실행되지 않습니다.

**가능한 해결 방법:** 트리거의 대상이 AWS Lambda 함수인 경우에는 CodeCommit에서 액세스할 수 있도록 함수의 리소스 정책을 구성했는지 확인합니다.

또는 트리거를 편집한 다음, 트리거를 작동하고 싶은 이벤트가 선택되었는지, 그리고 트리거의 작업 대상이 되는 브랜치 중에 작업에 대한 응답을 확인하려는 브랜치가 포함되어 있는지 확인합니다. 트리거 설정을 **모든 리포지토리 이벤트** 및 **모든 브랜치**로 변경한 다음 트리거를 테스트합니다. 자세한 내용은 [리포지토리 트리거 편집](how-to-notify-edit.md) 단원을 참조하십시오.

## 디버깅 활성화
<a name="troubleshooting-debug"></a>

**문제:** 디버깅을 활성화하여 Git 명령 실행 방법 및 내 리포지토리에 대한 자세한 정보를 알고 싶습니다.

**수정 방법:** 다음을 수행해 보세요.

1. 터미널 또는 명령 프롬프트에서 로컬 시스템에 다음 명령을 실행한 후 Git 명령을 실행하십시오.

   Linux, macOS, Unix의 경우:

   ```
   export GIT_TRACE_PACKET=1
   export GIT_TRACE=1
   export GIT_CURL_VERBOSE=1
   ```

   Windows:

   ```
   set GIT_TRACE_PACKET=1
   set GIT_TRACE=1
   set GIT_CURL_VERBOSE=1
   ```
**참고**  
`GIT_CURL_VERBOSE` 설정은 HTTPS 연결에만 유용합니다. SSH는 `libcurl` 라이브러리를 사용하지 않습니다.

1. Git 리포지토리에 대한 자세한 내용은 최신 버전의 [git-sizer](https://github.com/github/git-sizer?tab=readme-ov-file#getting-started)를 설치하는 것이 좋습니다. 운영 체제 및 환경에 적합한 유틸리티를 설치하기 위한 지침을 따릅니다. 설치되면 명령줄 또는 터미널에서 디렉터리를 로컬 리포지토리로 변경한 후 다음 명령을 실행합니다.

   ```
   git-sizer --verbose
   ```
**작은 정보**  
특히 시간 경과에 따라 문제를 해결할 때 다른 사람과 쉽게 공유할 수 있도록 명령의 출력을 파일에 저장하는 것이 좋습니다.