두 명 이상의 사용자와 함께 Git 사용

2703 단어 gitgithubsecurityssh
때로는 같은 컴퓨터에서 둘 이상의 Git 사용자를 사용해야 합니다. 이는 구성이 간단하지만 이 기능을 사용하기 전에 몇 가지 사항을 알아야 합니다.

추가 SSH 키 생성



기본적으로 SSH 키는 ~/.ssh/ 디렉토리에 생성되며 서명 유형에 따라 id_rsa 또는 id_ed25519 라고 합니다. 특정 파일 이름으로 키를 생성하려면 다음 명령을 사용할 수 있습니다.

ssh-keygen -f filename -t ed25519 -C 'machine_name'


💡 특정 조직에 이 키를 사용하려는 경우 파일 이름에 형식id_orgname을 사용하는 것이 매우 유용합니다.
-C 인수를 사용하여 지정된 주석은 이 키가 생성된 이유를 알 수 있는 유용한 내용이어야 합니다🤔. 이 SSH 키를 사용하는 시스템의 이름이거나 도움이 되는 표기법일 수 있습니다. 이 댓글은 나만 볼 수 있습니다.

모든 사용자에게 동일한 키를 사용할 수 있습니까?



때에 따라 다르지. GitHub와 같은 소스 코드 호스팅은 플랫폼의 특정 사용자에게 SSH 키를 연결하여 어떤 사용자가 Git 리포지토리에 코드를 푸시하는지 파악하고 액세스를 확인하는 등의 작업을 수행합니다. 회사에서 Github를 사용하지 않는 경우 con은 다음을 사용할 수도 있습니다. Github의 개인 이메일과 GitLab의 회사 이메일에 동일한 키.

특정 SSH 키로 저장소 복제


git clone 명령은 SSH 프로토콜을 사용하여 Git 호스팅에 연결하고 시스템의 SSH 프로그램은 인증을 위해 기본 키(일반적으로 ~/.ssh/id_ed25519 에 있음)를 사용합니다. 다음을 사용하여 리포지토리를 복제하려면 사용자 지정 SSH 명령을 사용해야 합니다.

git clone --config core.sshCommand="ssh -i path/to/private_ssh_key" [email protected]:orgname/repo.git


🧠 키 이름이 .pub로 끝나면 기억하세요. id_orgname.pub 그러면 이것이 공개 키입니다. 개인 키이기 때문에 이 확장자가 없는 키 파일을 사용해야 합니다.

다른 이메일 주소를 사용하려면 다음 명령을 사용하여 구성하십시오.

git config user.name "John Doe"
git config user.email [email protected]


💡 머신의 모든 Git 리포지토리에 대한 기본 설정을 지정하려면 --global 인수를 사용하십시오. 그렇지 않으면 git config 명령은 현재 디렉토리의 저장소에 대한 구성 값만 설정합니다.

이미 복제된 저장소로 키 변경



Git 리포지토리를 복제했지만 새 SSH 키를 사용하여 코드를 푸시해야 하는 경우 이 명령을 사용하여 새 SSH 명령을 설정할 수 있습니다.

git config core.sshCommand "ssh -i path/to/private_ssh_key"


추가 SSH 팁



회사의 Git 리포지토리가 사용자 지정 포트 🙈(22는 SSH의 기본 포트임)에 있을 수 있습니다. 다음 옵션을 사용하여 이러한 리포지토리를 복제해야 합니다.

git clone --config core.sshCommand="ssh -p 2222" [email protected]:path/to/repo.git


결론



커밋 작성자의 정보 또는 특정 명령 별칭과 같은 각 리포지토리에 대한 특정 Git 구성을 사용할 수 있습니다.

SSH 프로토콜을 사용하여 저장소에 연결하기 위한 SSH 명령의 변형은 언제든지 변경할 수 있습니다.

좋은 웹페이지 즐겨찾기