

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

# Windows의 AWS CodeCommit 리포지토리에 대한 SSH 연결 설정 단계
<a name="setting-up-ssh-windows"></a>

 AWS CodeCommit 에 처음 연결하려면 먼저 몇 가지 초기 구성 단계를 완료해야 합니다. 컴퓨터와 AWS 프로필을 설정한 후 CodeCommit 리포지토리에 연결하고 해당 리포지토리를 컴퓨터에 복제할 수 있습니다(로컬 리포지토리 생성이라고도 함). Git을 처음 사용하는 경우, [Git에 대해 더 학습하려면 어떻게 해야 하나요?](welcome.md#welcome-get-started-with-git)의 정보를 검토하는 것이 좋습니다.

**Topics**
+ [1단계: CodeCommit에 대한 초기 구성](#setting-up-ssh-windows-account)
+ [2단계: Git 설치](#setting-up-ssh-windows-install-git)
+ [3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정](#setting-up-ssh-windows-keys-windows)
+ [4단계: CodeCommit 콘솔 연결 및 리포지토리 복제](#setting-up-ssh-windows-connect-console)
+ [다음 단계](#setting-up-ssh-windows-next-step)

## 1단계: CodeCommit에 대한 초기 구성
<a name="setting-up-ssh-windows-account"></a>

이 절차에 따라 Amazon Web Services 계정을 설정하고 IAM 사용자를 생성하며 CodeCommit에 대한 액세스를 구성합니다.

**CodeCommit에 액세스할 IAM 사용자를 생성 및 구성하려면**

1. [http://aws.amazon.com](https://aws.amazon.com/)에서 **가입**을 선택하여 Amazon Web Services 계정을 만듭니다.

1. Amazon Web Services 계정에서 IAM 사용자를 생성하거나 기존 사용자를 사용합니다. 액세스 키 ID가 있고 해당 IAM 사용자와 연결된 비밀 액세스 키가 있는지 확인합니다. 자세한 내용은 [Amazon Web Services 계정에서 IAM 사용자 생성하기](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SettingUpUser.html)를 참조하세요.
**참고**  
CodeCommit에는가 필요합니다 AWS Key Management Service. 기존 IAM 사용자를 사용하는 경우 CodeCommit에 필요한 AWS KMS 작업을 명시적으로 거부하는 사용자에게 연결된 정책이 없는지 확인합니다. 자세한 내용은 [AWS KMS 및 암호화](encryption.md) 단원을 참조하십시오.

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.

1. IAM 콘솔의 탐색 창에서 **사용자**를 선택한 다음 CodeCommit 액세스에 대해 구성할 IAM 사용자를 선택합니다.

1. **권한** 탭에서 **권한 추가**를 선택합니다.

1. **권한 부여**에서 **기존 정책 직접 연결**을 선택합니다.

1. 정책 목록에서, CodeCommit 액세스에 대한 **AWSCodeCommitPowerUser** 또는 다른 관리형 정책을 선택합니다. 자세한 내용은 [AWS CodeCommit에 대한 관리형 정책](security-iam-awsmanpol.md) 단원을 참조하십시오.

   연결할 정책을 선택한 후 **다음: 검토**를 선택하여 IAM 사용자에게 연결할 정책의 목록을 검토합니다. 목록이 올바르면 **권한 추가**를 선택합니다.

    CodeCommit 관리형 정책, 그리고 리포지토리에 대한 액세스를 다른 그룹 및 사용자와 공유하는 방법에 대해 자세히 알아보려면 [리포지토리 공유](how-to-share-repository.md), [에 대한 인증 및 액세스 제어 AWS CodeCommit](auth-and-access-control.md) 섹션을 참조하세요.

**참고**  
CodeCommit에서 AWS CLI 명령을 사용하려면를 설치합니다 AWS CLI. 자세한 내용은 [명령줄 참조](cmd-ref.md) 단원을 참조하십시오.

## 2단계: Git 설치
<a name="setting-up-ssh-windows-install-git"></a>

CodeCommit 리포지토리에서 파일과 커및 및 기타 정보를 사용하려면 로컬 시스템에 Git를 설치해야 합니다. CodeCommit은 Git 버전 1.7.9 이상을 지원합니다. Git 버전 2.28에서는 초기 커밋을 위한 브랜드 이름을 구성할 수 있습니다. 최신 버전의 Git를 사용하는 것이 좋습니다.

Git 설치를 위해서는 [Git 다운로드](http://git-scm.com/downloads)와 같은 웹 사이트를 권장합니다.

**참고**  
Git은 계속 개선되며 정기적으로 업데이트되는 플랫폼입니다. 기능 변경에 따라 CodeCommit 사용 방식이 달라지는 경우가 있습니다. Git과 CodeCommit의 특정 버전에서 문제가 발생할 경우 [문제 해결](troubleshooting.md)의 내용을 검토합니다.

설치한 Git 버전에 Git Bash와 같은 Bash 에뮬레이터가 포함되지 않다면 에뮬레이터를 설치합니다. SSH 연결을 구성할 때 Windows 명령줄 대신 이 에뮬레이터를 사용합니다.

## 3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정
<a name="setting-up-ssh-windows-keys-windows"></a>

**Windows에서 Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키를 설정하려면**

1. Bash 에뮬레이터를 엽니다.
**참고**  
관리자 권한을 사용하여 에뮬레이터를 실행해야 할 수 있습니다.

   에뮬레이터에서 **ssh-keygen** 명령을 실행하고 지침에 따라 파일을 프로필의 .ssh 디렉터리에 저장합니다.

   예제:

   ```
   $ ssh-keygen
   
   Generating public/private rsa key pair.
   Enter file in which to save the key (/drive/Users/user-name/.ssh/id_rsa): Type a file name here, for example /c/Users/user-name/.ssh/codecommit_rsa
   
   Enter passphrase (empty for no passphrase): <Type a passphrase, and then press Enter>
   Enter same passphrase again: <Type the passphrase again, and then press Enter>
   
   Your identification has been saved in drive/Users/user-name/.ssh/codecommit_rsa.
   Your public key has been saved in drive/Users/user-name/.ssh/codecommit_rsa.pub.
   The key fingerprint is:
   45:63:d5:99:0e:99:73:50:5e:d4:b3:2d:86:4a:2c:14 user-name@client-name
   The key's randomart image is:
   +--[ RSA 2048]----+
   |        E.+.o*.++|
   |        .o .=.=o.|
   |       . ..  *. +|
   |        ..o . +..|
   |        So . . . |
   |          .      |
   |                 |
   |                 |
   |                 |
   +-----------------+
   ```

   다음이 생성됩니다.
   + *codecommit\$1rsa* 파일: 프라이빗 키 파일입니다.
   + *codecommit\$1rsa*.pub 파일: 퍼블릭 키 파일입니다.
**작은 정보**  
기본 설정에 따라 **ssh-keygen**은 2048비트 키를 생성합니다. 매개 변수 -t와 -b를 사용하여 키의 유형과 길이를 지정할 수 있습니다. rsa 형식의 4,096비트 키를 원하는 경우, 해당 명령 실행 시 다음의 파라미터를 사용합니다.  

   ```
   ssh-keygen -t rsa -b 4096
   ```
SSH 키에 필요한 형식과 길이에 대해 자세히 알아보려면 [CodeCommit에서 IAM 사용하기](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html#ssh-keys-code-commit)를 참조하세요.

1. 다음 명령을 실행하여 퍼블릭 키 파일(*codecommit\$1rsa*.pub)의 값을 표시합니다.

   ```
   cd .ssh
   notepad codecommit_rsa.pub
   ```

   파일 콘텐츠를 복사한 다음 메모장을 저장하지 않고 닫습니다. 파일 콘텐츠는 다음과 비슷합니다.

   ```
   ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB
   gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2
   5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc
   NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw
   DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE user-name@computer-name
   ```

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) IAM 콘솔을 엽니다.
**참고**  
**내 보안 인증 정보**에서 CodeCommit 보안 인증 정보를 직접 보고 관리할 수 있습니다. 자세한 내용은 [보안 인증 정보 보기 및 관리](setting-up.md#setting-up-view-credentials) 섹션을 참조하세요.

1. IAM 콘솔의 탐색 창에서 **사용자**를 선택하고 사용자 목록에서 해당 IAM 사용자를 선택합니다.

1. 사용자 세부 정보 페이지에서 **보안 인증 정보** 탭을 선택한 다음 **SSH 퍼블릭 키 업로드**를 선택합니다.

1. SSH 퍼블릭 키의 콘텐츠를 필드에 붙여넣은 후 **SSH 퍼블릭 키 업로드**를 선택합니다.

1. **SSH 키 ID**(예: *APKAEIBAERJR2EXAMPLE*)에 정보를 복사하거나 저장합니다.  
![\[IAM 콘솔의 SSH 키 ID\]](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-ssh-key-id-iam.png)
**참고**  
SSH 키 ID를 두 개 이상 업로드한 경우, 키가 업로드 날짜가 아니라 키 ID를 기준으로 영문자순으로 나열됩니다. 올바른 업로드 날짜와 연결된 키 ID를 복사했는지 확인하세요.

1. Bash 에뮬레이터에서 다음 명령을 실행하여 \$1/.ssh 디렉터리에서 config 파일을 생성하거나 이미 있는 경우 편집합니다.

   ```
   notepad ~/.ssh/config
   ```

1. 파일에 다음 행을 추가합니다. 여기서 *User* 값은 앞서 복사한 SSH 키 ID이고 *IdentityFile*은 프라이빗 키 파일의 경로 및 이름입니다.

   ```
   Host git-codecommit.*.amazonaws.com
     User APKAEIBAERJR2EXAMPLE
     IdentityFile ~/.ssh/codecommit_rsa
   ```
**참고**  
프라이빗 키 파일에 *codecommit\$1rsa* 이외의 이름을 지정한 경우, 여기서 해당 이름을 사용해야 합니다.  
Amazon Web Services의 여러 계정에서 리포지토리에 대한 SSH 액세스를 설정할 수 있습니다. 자세한 내용은 [에 대한 SSH 연결 문제 해결 AWS CodeCommit](troubleshooting-ssh.md) 단원을 참조하세요.

   파일을 config 파일(config.txt가 아님)로 저장하고 메모장을 닫습니다.
**중요**  
파일 이름은 파일 확장명 없이 `config`여야 합니다. 그렇지 않으면 SSH 연결이 실패합니다.

1. 다음 명령을 실행하여 SSH 구성을 테스트합니다.

   ```
   ssh git-codecommit.us-east-2.amazonaws.com
   ```

   `git-codecommit.us-east-2.amazonaws.com`이 알려진 호스트 파일에 아직 포함되어 있지 않으므로 연결을 확인하라는 메시지가 표시됩니다. CodeCommit 서버 지문이 인증 과정에서 표시됩니다(MD5의 경우 `a9:6d:03:ed:08:42:21:be:06:e1:e0:2a:d1:75:31:5e` 또는 SHA256의 경우 `3lBlW2g5xn/NA2Ck6dyeJIrQOWvn7n8UEs56fG6ZIzQ`).
**참고**  
CodeCommit 서버 지문은 모든에 대해 고유합니다 AWS 리전. 의 서버 지문을 보려면 섹션을 AWS 리전참조하세요[CodeCommit의 서버 지문](regions.md#regions-fingerprints).

   연결을 확인한 후 서버를 알려진 호스트 파일에 추가했다는 확인 메시지와 연결이 성공했다는 메시지가 표시되어야 합니다. 성공 메시지가 표시되지 않는 경우, CodeCommit에 액세스하도록 구성한 IAM 사용자의 \$1/.ssh 디렉터리에 `config` 파일을 저장했는지, `config` 파일에 파일 확장자가 없는지(예: 이름을 config.txt로 짓지 말 것), 올바른 프라이빗 키 파일을 지정했는지(*codecommit\$1rsa*.pub가 아닌 *codecommit\$1rsa*) 등을 다시 확인합니다.

   문제를 해결하려면 `-v` 파라미터를 사용하여 `ssh` 명령을 실행합니다. 예제:

   ```
   ssh -v git-codecommit.us-east-2.amazonaws.com
   ```

   연결 문제를 해결하기 위한 자세한 방법은 [에 대한 SSH 연결 문제 해결 AWS CodeCommit](troubleshooting-ssh.md) 단원을 참조하세요.

## 4단계: CodeCommit 콘솔 연결 및 리포지토리 복제
<a name="setting-up-ssh-windows-connect-console"></a>

관리자가 CodeCommit 리포지토리에 대한 이름과 연결 세부 정보를 이미 전송한 경우 이 단계를 건너뛰고 리포지토리를 직접 복제할 수 있습니다.

**CodeCommit 리포지토리에 연결하려면**

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)에서 CodeCommit 콘솔을 엽니다.

1. 리전 선택기에서 리포지토리가 생성된 AWS 리전 를 선택합니다. 리포지토리는에 고유합니다 AWS 리전. 자세한 내용은 [리전 및 Git 연결 엔드포인트](regions.md) 단원을 참조하십시오.

1. 목록에서 연결하려는 리포지토리를 찾아서 선택합니다. **URL 복제**를 선택한 다음 리포지토리를 복제하거나 연결할 때 사용할 프로토콜을 선택합니다. 이것으로 복제 URL가 복사됩니다.
   + IAM 사용자를 통한 Git 보안 인증 정보를 활용하거나 AWS CLI에 포함된 보안 인증 도우미를 사용하는 경우 HTTPS URL을 복사합니다.
   + 로컬 컴퓨터에서 **git-remote-codecommit** 명령을 사용하는 경우 HTTPS(GRC) URL을 복사합니다.
   + IAM 사용자와 SSH 퍼블릭/프라이빗 키 페어를 사용하는 경우 SSH URL을 복사합니다.
**참고**  
 리포지토리 목록 대신 **시작** 페이지가 표시되면 로그인한에 AWS 계정과 연결된 AWS 리전 리포지토리가 없는 것입니다. 리포지토리를 만들려면 [AWS CodeCommit 리포지토리 생성](how-to-create-repository.md)를 참조하거나 [Git 및 CodeCommit 시작하기](getting-started.md) 자습서의 다음 단계를 따릅니다.

1. Bash 에뮬레이터에서 복사한 SSH URL로 **git clone** 명령을 실행하여 리포지토리를 복제합니다. 이 명령은 명령을 실행한 디렉터리의 하위 디렉터리에 로컬 리포지토리를 생성합니다. 예를 들어, *MyDemoRepo*라는 리포지토리를 미국 동부(오하이오) 리전의 *my-demo-repo*라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

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

   또는 명령 프롬프트를 열고 IAM에 업로드한 퍼블릭 키의 URL 및 SSH 키 ID를 사용하여 **git clone** 명령을 실행합니다. 그러면 명령을 실행한 디렉터리의 하위 디렉터리에 로컬 리포지토리가 생성됩니다. 예를 들어, *MyDemoRepo*라는 리포지토리를 *my-demo-repo*라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

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

   자세한 내용은 [리포지토리를 복제하여 CodeCommit 리포지토리에 연결](how-to-connect.md#how-to-connect-http) 및 [커밋 생성](how-to-create-commit.md) 섹션을 참조하세요.

## 다음 단계
<a name="setting-up-ssh-windows-next-step"></a>

사전 필수 단계를 완료했습니다. [CodeCommit 시작하기 ](getting-started-cc.md)에 나와 있는 단계에 따라 CodeCommit의 사용을 시작합니다.