HTTPS 및 personal access token을(를) 사용하여 여러 계정에 기여
또는 두 계정에 HTTPS 프로토콜을 사용하려는 경우 Git을 구성하여 각 계정에 personal access token을(를) 사용함으로써 각 리포지토리에 대해 서로 다른 자격 증명을 저장할 수 있습니다.
-
터미널을 엽니다.
-
자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.
Shell git config --get credential.helper
git config --get credential.helper -
출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.
- 출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.
-
출력이
osxkeychain인 경우 macOS KeyChain을 사용합니다. 자격 증명을 지우려면 명령줄에서 다음 자격 증명 도우미를 사용할 수 있습니다.$ git credential-osxkeychain erase host=github.com protocol=https > [Press Return] > -
출력이
manager인 경우(이전 버전에서는manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
-
GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
각 계정에 대해
repo범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요. -
Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.
Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.
-
Git Bash를 엽니다.
-
자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.
Shell git config --get credential.helper
git config --get credential.helper -
출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.
-
출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.
-
출력이
manager인 경우(이전 버전에서는manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.Shell echo "protocol=https`nhost=github.com" | git credential-manager erase
echo "protocol=https`nhost=github.com" | git credential-manager erase-
출력이
wincred경우 Windows 자격 증명 관리자를 사용합니다. 자격 증명을 지우려면 다음 명령을 입력합니다.Shell cmdkey /delete:LegacyGeneric:target=git:https://github.com
cmdkey /delete:LegacyGeneric:target=git:https://github.com
-
-
GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
각 계정에 대해
repo범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요. -
Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.
Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.
-
터미널을 엽니다.
-
자격 증명 관리자의 사용을 확인하려면 다음 명령을 입력하고 출력을 확인합니다.
Shell git config --get credential.helper
git config --get credential.helper -
출력에서 자격 증명 관리자를 사용하고 있음을 확인하는 경우 자격 증명 관리자에 대해 저장된 자격 증명을 지웁니다.
-
출력에 자격 증명 관리자의 이름이 포함되지 않으면 구성된 자격 증명 관리자가 없는 것입니다. 따라서 다음 단계를 진행할 수 있습니다.
-
출력이
manager인 경우(이전 버전에서는manager-core) Git 자격 증명 관리자를 사용하는 것입니다. 자격 증명을 지우려면 다음 명령을 실행합니다.Shell echo "protocol=https\nhost=github.com" | git credential-manager erase
echo "protocol=https\nhost=github.com" | git credential-manager erase
-
GitHub에서 액세스하는 각 리포지토리의 전체 원격 URL에 대한 자격 증명을 캐시하도록 Git을 구성하려면 다음 명령을 입력합니다.
Shell git config --global credential.https://github.com.useHttpPath true
git config --global credential.https://github.com.useHttpPath true -
각 계정에 대해
repo범위가 있는 전용 personal access token (classic)을(를) 만듭니다. 또는 각 계정 및 구성원인 각 조직에 대해 원하는 리포지토리에 액세스할 수 있고 리포지토리 콘텐츠에 대한 읽기 및 쓰기 권한이 있는 fine-grained personal access token을 만듭니다. 자세한 내용은 개인용 액세스 토큰 관리을(를) 참조하세요. -
Git을 사용하여 리포지토리를 복제하거나 이미 복제한 리포지토리의 데이터에 액세스할 때 처음으로 Git에서 자격 증명을 요청합니다. 리포지토리에 액세스할 수 있는 계정의 personal access token을(를) 제공합니다.
Git이 리포지토리의 전체 원격 URL을 기반으로 personal access token을(를) 캐시할 것이며, 그러면 올바른 계정을 사용하여 GitHub.com에서 리포지토리 데이터에 액세스하고 쓸 수 있습니다.
SSH 및 GIT_SSH_COMMAND를 사용하여 여러 계정에 기여
두 계정에 대해 SSH 프로토콜을 사용하려는 경우 각 계정에 대해 서로 다른 SSH 키를 사용할 수 있습니다. SSH 사용에 관한 자세한 내용은 SSH를 사용하여 GitHub 연결 항목을 참조하세요.
워크스테이션에 복제하는 리포지토리마다 다른 SSH 키를 사용하려면 Git 작업에 대한 셸 래퍼 함수를 작성해야 합니다. 이 함수는 다음 단계를 수행해야 합니다.
1.
git config --get remote.origin.url과 같은 명령을 사용하여 리포지토리의 전체 이름을 소유자와 함께 확인합니다.
- 인증에 정확한 SSH 키를 선택합니다.
- 그에 따라
GIT_SSH_COMMAND를 수정합니다.GIT_SSH_COMMAND에 대한 자세한 내용은 Git 설명서의 환경 변수를 참조하세요.
예를 들어, 다음 명령은 GIT_SSH_COMMAND 에 있는 프라이빗 키 파일을 사용하여 GitHub.com에서 OWNER/REPOSITORY라는 리포지토리를 복제하는 SSH 명령을 지정하도록 **** 환경 변수를 설정합니다.
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
GIT_SSH_COMMAND='ssh -i PATH/TO/KEY/FILE -o IdentitiesOnly=yes' git clone git@github.com:OWNER/REPOSITORY
SSH 및 여러 키를 사용하여 여러 계정에 기여
관리형 사용자가 있는 엔터프라이즈의 구성원이지만 개인 계정을 사용하여 엔터프라이즈 외부에서 공동 작업하려는 경우 각 계정에 대해 서로 다른 SSH 키를 사용할 수 있습니다. SSH 사용에 관한 자세한 내용은 SSH를 사용하여 GitHub 연결 항목을 참조하세요.
경고
동일한 SSH 키를 사용하여 관리형 사용자가 있는 조직 내부 및 엔터프라이즈 외부의 리포지토리 모두에 기여할 수 없습니다.
-
관리형 사용자가 있는 조직의 리포지토리용 별도의 SSH 키를 생성하십시오. 새 SSH 키 생성 및 ssh-agent에 추가을(를) 참조하세요. 키를 저장할 때 기존 키와 다른 파일 이름을 지정합니다(예: 제안된 파일 이름에 -emu 추가).
-
관리형 사용자 계정에 새로운 SSH 키를 추가합니다. GitHub 계정에 새 SSH 키 추가을(를) 참조하세요.
-
다른 키를 사용하도록 SSH 구성 파일을
~/.ssh/config구성합니다. 예를 들어, 개인 SSH 키가~/.ssh/id_ed25519이고 관리형 사용자가 있는 엔터프라이즈 SSH 키가~/.ssh/id_ed25519-emu일 때Text Host github.com IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes Host github-emu.com Hostname github.com IdentityFile ~/.ssh/id_ed25519-emu IdentitiesOnly yesHost github.com IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes Host github-emu.com Hostname github.com IdentityFile ~/.ssh/id_ed25519-emu IdentitiesOnly yes참고
이 줄은
IdentitiesOnlyssh-agent가 여러 키를 로드한 경우 ssh가 연결할 때 올바른 키를 사용하는지 확인합니다. -
다음 명령을 실행하여 개인 계정과 연결된 SSH 키를 사용하여 연결하여 SSH 구성을 테스트합니다. 자세한 내용은 SSH 연결 테스트 을 참조하세요.
Shell ssh -T git@github.com
ssh -T git@github.comGitHub에서 SSH 키를 통해 관리형 사용자가 있는 엔터프라이즈에 정상적으로 연결되는지 테스트를 진행해 보시기 바랍니다.
Shell ssh -T git@github-emu.com
ssh -T git@github-emu.com -
`git`에게 관리형 사용자가 있는 조직에서 리포지토리를 다운로드하거나 업로드할 때 올바른 키를 사용할 것을 지시하세요.관리형 사용자가 있는 엔터프라이즈에서 조직 목록을 확인하려면 1. GitHub의 오른쪽 위 모서리에서 프로필 사진을 클릭한 다음, Your organizations를 클릭합니다.
- 나열된 각 조직에 대해
git에게github-emu.com호스트를 사용하도록 지시합니다.
예를 들어 조직 중 하나가
octocat-emu로 호출되었다면,git에서 조직의 리포지토리에 대해 호스트github-emu.com를 사용하도록 설정하려면 다음 명령을 실행합니다.Shell git config --global url."git@github-emu.com:octocat-emu/".insteadOf "git@github.com:octocat-emu/"
git config --global url."git@github-emu.com:octocat-emu/".insteadOf "git@github.com:octocat-emu/" - 나열된 각 조직에 대해
이제 octocat-emu 조직에서 git를 사용하여 SSH로 리포지토리를 복제할 때, 개인 키 대신 관리형 사용자가 있는 엔터프라이즈에 연결된 SSH 키가 사용됩니다.
다음 단계
참조 정보는 개인 계정 참조을(를) 참조하세요.