

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

# Linux, macOS 또는 Unix의 AWS CodeCommit 리포지토리에 대한 SSH 연결 설정 단계
<a name="setting-up-ssh-unixes"></a>

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

**Topics**
+ [1단계: CodeCommit에 대한 초기 구성](#setting-up-ssh-unixes-account)
+ [2단계: Git 설치](#setting-up-ssh-unixes-install-git)
+ [3단계: Linux, macOS, Unix에서 보안 인증 정보 구성](#setting-up-ssh-unixes-keys)
+ [4단계: CodeCommit 콘솔 연결 및 리포지토리 복제](#setting-up-ssh-unixes-connect-console)
+ [다음 단계](#setting-up-ssh-unixes-next-step)

## 1단계: CodeCommit에 대한 초기 구성
<a name="setting-up-ssh-unixes-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-unixes-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)의 내용을 검토합니다.

## 3단계: Linux, macOS, Unix에서 보안 인증 정보 구성
<a name="setting-up-ssh-unixes-keys"></a>

### SSH와 Linux, macOS Unix: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키를 설정합니다.
<a name="setting-up-ssh-unixes-keys-unixes"></a>

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

1. 로컬 컴퓨터의 터미널에서 **ssh-keygen** 명령을 실행하고 지침에 따라 파일을 프로필의 .ssh 디렉터리에 저장합니다.
**참고**  
키 파일을 저장할 위치와 사용할 파일 이름 지정 패턴은 시스템 관리자에게 문의하세요.

   예제:

   ```
   $ ssh-keygen
   
   Generating public/private rsa key pair.
   Enter file in which to save the key (/home/{{user-name}}/.ssh/id_rsa): {{Type /home/your-user-name/.ssh/ and a file name here, for example /home/your-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 /home/{{user-name}}/.ssh/{{codecommit_rsa}}.
   Your public key has been saved in /home/{{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\_rsa}} 파일: 프라이빗 키 파일입니다.
   + {{codecommit\_rsa}}.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\_rsa}}.pub)의 값을 표시합니다.

   ```
   cat ~/.ssh/{{codecommit_rsa.pub}}
   ```

   이 값을 복사합니다. 내용은 다음처럼 보일 것입니다.

   ```
   ssh-rsa EXAMPLE-AfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMCVVMxCzAJB
   gNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb2
   5zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhc
   NMTEwNDI1MjA0NTIxWhcNMTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAw
   DgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDAS=EXAMPLE {{user-name}}@{{ip-192-0-2-137}}
   ```

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. 로컬 컴퓨터에서 텍스트 편집기를 사용하여 \~/.ssh 디렉터리에 config 파일을 생성한 후 다음 줄을 파일에 추가합니다. 여기서 {{User}}는 이전에 복사한 SSH 키 ID입니다.

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

   이 파일을 저장하고 이름을 `config`로 지정합니다.

1. 터미널에서 명령을 실행하여 config 파일에 대한 권한을 변경합니다.

   ```
   chmod 600 config
   ```

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 사용자의 \~/.ssh 디렉터리에 `config` 파일을 저장하고 올바른 프라이빗 키 파일을 지정했는지 확인합니다.

   문제를 해결하는 데 도움이 되는 정보를 보려면 `-v` 파라미터를 사용하여 `ssh` 명령을 실행합니다. 예제:

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

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

## 4단계: CodeCommit 콘솔 연결 및 리포지토리 복제
<a name="setting-up-ssh-unixes-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. 터미널을 엽니다. /tmp 디렉터리에서 복사한 SSH URL로 **git clone** 명령을 실행하여 리포지토리를 복제합니다. 예를 들어, {{MyDemoRepo}}라는 리포지토리를 미국 동부(오하이오) 리전의 {{my-demo-repo}}라는 로컬 리포지토리에 복제하려면 다음과 같이 합니다.

   ```
   git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
**참고**  
연결을 성공적으로 테스트했지만 복제 명령이 실패하는 경우, config 파일에 필요한 액세스 권한이 없거나 다른 설정이 config 파일과 충돌하는 것일 수 있습니다. 이번에는 SSH 키 ID를 명령에 포함하여 연결을 다시 시도하십시오. 예제:  

   ```
   git clone ssh://{{Your-SSH-Key-ID}}@git-codecommit.us-east-2.amazonaws.com/v1/repos/MyDemoRepo my-demo-repo
   ```
자세한 내용은 [액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되었지만 Linux, macOS, Unix 시스템에서 연결이 실패했습니다](troubleshooting-ssh.md#troubleshooting-ae4) 단원을 참조하십시오.

   리포지토리에 연결하는 방법에 대한 자세한 내용은 [리포지토리를 복제하여 CodeCommit 리포지토리에 연결](how-to-connect.md#how-to-connect-http) 섹션을 참조하세요.

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

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