AWS CodeCommit과의 SSH 연결 문제 해결 - AWS CodeCommit

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

AWS CodeCommit과의 SSH 연결 문제 해결

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

액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되었지만 Linux, macOS, Unix 시스템에서 연결이 실패했습니다

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

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

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

IAM 콘솔의 SSH 키 ID
참고

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 연결 섹션을 참조하세요.

액세스 오류: 퍼블릭 키가 IAM에 성공적으로 업로드되고 SSH가 성공적으로 테스트되었지만 Windows 시스템에서 연결이 실패했습니다

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

수정 방법: 이 오류가 발생하는 가장 일반적인 이유는 SSH 사용을 시도할 때 Windows에게 다른 프로그램을 사용하도록 지시하는 Windows 시스템 환경 설정 변수 집합이 있기 때문입니다. 예를 들어, GIT_SSH 변수가 도구(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 리포지토리에 연결할 때 호스트의 인증을 설정할 수 없습니다

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

수정 방법: 자격 증명이 올바르게 설정되지 않았을 수 있습니다. Linux, macOS, Unix에서 SSH 연결 또는 Windows에서 SSH 연결의 지침을 따르십시오.

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

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

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

CodeCommit의 퍼블릭 지문
서버 암호화 해시 유형 지문
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+8isPtotBoY
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+Rk4UbhPv6Es22mSB3uTBojfPXIno
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+gHas80HY3DqbP4yanCDFhqDVjseefVbHEXqH2Ec
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+VKB0jpRaG/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+Xpx4Kddb6p45j4RazIJ4IhAMD8k29itOfE
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+jn8/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+ikzILnKBsZz7t9+CFdSJjKbLI
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+R0z7qW7minenW+rUpAABRCRBTCzmETAJEQrg98
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+V8jl7iuAcjqXsG7zkqoUZZmmhYYFBq1wQ
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+NToCGgjrHekiBuOl0ad7ROGEsz+DBLXOd/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+JY8CTLS4UX+ZC5JVZXPRaxc8
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+mOBx+dCNuL0omUoCNjaDtZiEpWj5TmCfQ
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에 추가하려고 시도할 때 '잘못된 형식' 오류가 나타납니다

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

가능한 해결 방법: IAM은 퍼블릭 키가 ssh-rsa 형식 또는 PEM 형식으로 인코딩되어야 합니다. IAM은 OpenSSH 형식의 공개 키만 허용하며, IAM 사용 설명서CodeCommit과 함께 SSH 키 사용에 명시된 것과 같은 추가 요구 사항들이 있습니다. 다른 형식으로 퍼블릭 키를 제공하거나 키에 필요한 비트 수가 없는 경우 이 오류가 나타납니다.

  • SSH 퍼블릭 키를 복사할 때 운영 체제에서 줄 바꿈이 발생했을 수도 있습니다. IAM에 추가한 퍼블릭 키에 줄 바꿈이 없는지 확인하십시오.

  • 일부 Windows 운영 체제에서는 OpenSSH 형식을 사용하지 않습니다. 키 페어를 생성하고 IAM에서 요구하는 OpenSSH 형식을 복사하려면 3단계: Git과 CodeCommit에 사용되는 퍼블릭 키와 프라이빗 키 설정 섹션을 참조하세요.

IAM의 SSH 키에 필요한 요구 사항에 대해 자세히 알아보려면 IAM 사용 설명서에서 CodeCommit에 SSH 키 사용을 참조하세요.

SSH 보안 인증 정보를 사용하여 여러 Amazon Web Services 계정의 CodeCommit 리포지토리에 액세스해야 합니다

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

가능한 해결 방법: Amazon Web Services 계정별로 고유한 SSH 공개/개인 키 페어를 생성하고 각 키로 IAM을 구성할 수 있습니다. 그런 다음 퍼블릭 키와 연결된 각 IAM 사용자 ID에 대한 정보로 ~/.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

더 많은 예시를 보려면 이 포럼의 게시물GitHub에 대한 이 기고문을 참조하세요.

Windows에서의 Git: SSH를 사용하여 연결을 시도할 때 Bash 에뮬레이터 또는 명령줄이 중지됩니다

문제: 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를 참조하십시오.

일부 Linux 배포판에 공개 키 형식을 지정해야 합니다

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

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

액세스 오류: CodeCommit 리포지토리에 연결할 때 SSH 퍼블릭 키가 거부됩니다

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

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