맥/리눅스에서 Git과 SSH 설정하기
리눅스에서 Git과 SSH 설정하기
Git은 분산 버전 관리 시스템으로, 개발자들 사이에서 널리 사용됩니다. SSH를 사용하여 Git을 설정하면 보다 안전하게 리포지토리에 접근할 수 있습니다. 이 글에서는 리눅스 환경에서 Git과 SSH를 설정하는 방법을 단계별로 안내합니다.
1. SSH 키 생성
먼저 SSH 키를 생성해야 합니다. 이를 위해 터미널을 엽니다.
bashssh-keygen -t rsa -b 4096 -C "your_email@example.com"
여기서 "your_email@example.com"
은 GitHub 또는 GitLab에 등록된 이메일 주소입니다. 위 명령을 입력하면 몇 가지 질문을 받게 됩니다. 기본값을 사용하려면 Enter 키를 누르시면 됩니다.
2. SSH 에이전트 시작 및 키 추가
생성한 SSH 키를 SSH 에이전트에 추가합니다.
basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
만약 "Could not open a connection to your authentication agent." 오류가 발생한다면, SSH 에이전트를 다시 시작하고 키를 추가해보십시오.
bashssh-agent -k eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa
3. SSH 공개 키 복사
SSH 공개 키를 복사하여 Git 서버에 추가해야 합니다.
bashcat ~/.ssh/id_rsa.pub
출력된 키를 복사합니다.
4. Git 서버에 SSH 키 추가
GitHub 또는 GitLab에 로그인한 후 설정(Settings)에서 SSH 키를 추가합니다.
GitHub:
- 오른쪽 상단의 프로필 사진을 클릭하고 Settings를 선택합니다.
- SSH and GPG keys를 선택합니다.
- New SSH key 버튼을 클릭합니다.
- Title을 입력하고, Key 필드에 복사한 공개 키를 붙여넣기 한 후, Add SSH key 버튼을 클릭합니다.
GitLab:
- 오른쪽 상단의 프로필 사진을 클릭하고 Preferences를 선택합니다.
- SSH Keys를 선택합니다.
- Key 필드에 복사한 공개 키를 붙여넣기 한 후, Title을 입력하고, Add key 버튼을 클릭합니다.
5. SSH 연결 테스트
SSH 연결이 잘 되는지 테스트합니다.
bashssh -T git@github.com # 또는 GitLab의 경우 ssh -T git@gitlab.com
성공적인 연결 메세지가 출력되면 설정이 완료된 것입니다.
6. Git 리포지토리 클론
이제 SSH를 통해 Git 리포지토리를 클론할 수 있습니다.
bashgit clone git@github.com:username/repository.git # 또는 GitLab의 경우 git clone git@gitlab.com:username/repository.git
7. SSH 구성 파일 설정 (선택 사항)
SSH 구성 파일을 설정하여 특정 호스트에 대해 사용자 정의 설정을 정의할 수 있습니다. SSH 구성 파일을 엽니다.
bashnano ~/.ssh/config
SSH 구성 파일에 다음 설정을 추가합니다.
# GitHub 설정
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github
AddKeysToAgent yes
# GitLab 설정
Host gitlab.com
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_gitlab
AddKeysToAgent yes
위 설정에서:
Host
는 설정의 이름을 정의하며, SSH 연결 시 이 이름을 사용합니다.HostName
은 실제 원격 호스트의 이름입니다.User
는 연결 시 사용할 사용자 이름입니다.IdentityFile
은 사용할 SSH 키의 경로를 지정합니다.AddKeysToAgent
는 키를 SSH 에이전트에 추가할지 여부를 결정합니다.
8. SSH 키 생성 (필요한 경우)
각 호스트에 대해 별도의 SSH 키를 생성합니다.
bashssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_github ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa_gitlab
SSH 에이전트를 시작하고, 키를 추가합니다.
basheval "$(ssh-agent -s)" ssh-add ~/.ssh/id_rsa_github ssh-add ~/.ssh/id_rsa_gitlab
각 Git 서버(GitHub, GitLab)에 SSH 공개 키를 추가합니다.
이 과정을 통해 SSH 구성 파일을 설정하여 GitHub와 GitLab에 대해 별도의 SSH 키를 사용할 수 있습니다. SSH 구성 파일은 다양한 호스트에 대해 SSH 설정을 사용자 정의할 수 있는 강력한 도구입니다.
이제 보안적으로 안전한 방법으로 Git을 사용할 수 있습니다. Happy Coding!