본문 바로가기

카테고리 없음

윈도우에서 로컬 하나로 매번 로그인 하지 않고 Github와 Gitlab 같이 쓰기

+) 210706 수정

아래 내용을 실행하다가 버벅이는 부분들이 있게 돼서 에러 뜨는 명령어를 수정했다. 예를 들면 ssh-keygen에 달았던 옵션들을 주니 제대로 다 하나하나 쳐야 한다거나 하는 귀찮은 것들. 이제는 제대로 돌아갈 것이다.

 

* 기존 시스템

Window 10 Home

Git version 2.30.1 (2021.3.8)

 

* 글을 쓰게 된 이유

한이음 활동을 하면서 기존에 쓰던 github가 아니라 gitlab으로 형상관리를 해야해서 검색해서 로컬 저장소와 연결했다. 검색을 하다보니까 회사에 가서도 회사 계정과 개인 계정을 분리해서 써야할 때도 종종 있는 것 같다. 그래서 지금 정리해두면 좋을 것 같아서 글을 쓰게 되었다.

 

* ssh 키 생성하고 등록하기

1. git bash 열고 ssh 키를 저장할 폴더로 이동한다.

$ cd ~/.ssh

2. bash에서 아래 명령어를 입력한다. 아래 명령어는 ssh 키를 생성하는 명령어이다. 깃허브 키이름과 깃랩 키이름을 다르게 지정해주어야 헷갈리지 않는다.

$ ssh-keygen -C "(깃허브로그인하는이메일계정)"
$ ssh-keygen -C "(깃랩로그인하는이메일계정)"

위 명령을 실행하면 한문장씩 총 3번이 뜬다. 첫번째 문장은 키 이름을 어떻게 할지 물어보는 거고, 두번째는 비밀번호 입력하는 문장이다. 마지막은 입력한 비밀번호 확인하는 문장이다. 귀찮으면 그냥 엔터 총 세번 눌러주면 된다. 키 이름은 넘어가게 되면 id_rsa로 저장된다. 이후에 헷갈릴 수 있으니 유의. 특히 Mac에서 실행하고 있고 github 계정에 적용할 거라면 id_rsa라고 해야 제대로 작동한다.

※ 비밀번호 입력에서 진짜 입력하면 매번 입력하게 되니까 유의할 것. 보안에 신경쓴다면 추천하지만 귀찮은 인간은 비밀번호 칸 비워서 자동로그인 설정해두었다.

3. 생성된 키를 아래 명령어를 이용해 등록해준다. window 유저라면 반드시 등록해야함.

$ ssh-add (깃허브키이름)
$ ssh-add (깃랩키이름)

4. 이건 별도 얘기지만 ssh-agent가 백그라운드에서 돌아가게 하고 싶은 사람은 아래 명령어를 bash에 입력하길 바란다. 입력하면 Agent pid 숫자 이렇게 출력되는데 숫자는 프로세스 아이디로써 기기마다 다른 듯.

$ eval $(ssh-agent -s)
Agent pid (숫자)

 

* config 파일 생성 및 수정

1. bash에서 아래 명령어로 ~/.ssh에 config 파일을 생성한다.

$ touch ~/.ssh/config

2. 생성된 config 파일을 vi 에디터로 열어서 아래와 같은 형태로 수정해준다.

$ vi config

- vi 진입 후 i 눌러서 문자 입력

# personal github account
Host github.com
	HostName github.com
    User git
    IdentityFile ~/.ssh/깃허브키이름

# personal gitlab account
Host gitlab.com
	HostName gitlab.com
    User git
    IdentityFile ~/.ssh/깃랩키이름

- 문서 작업이 끝나면 esc 누르고 :wq 누르고 저장하고 나온다.

- 한이음이라면 아래 Host와 HostName에 있는 gitlab.com을 모두 lab.hanium.or.kr로 변경해서 저장해준다.

 

* github와 연동되어있는 각각 프로젝트 폴더의 .git/config 파일 수정

원래 있던 프로젝트 폴더의 git 설정을 수정해주는 것. vi 에디터로 마찬가지로 수정해주는데 아래와 같이 수정해준다.

[remote "origin"]
	url=git@github.com:(깃허브ID)/{RepositoryName}.git

 

* gitlab과 연동되어있는 각각 프로젝트 폴더의 .git/config 파일 수정

원래 있던 프로젝트 폴더의 git 설정을 수정해주는 것. vi 에디터로 마찬가지로 수정해주는데 아래와 같이 수정해준다.

[remote "origin"]
	url=git@github.com:(깃랩ID)/{RepositoryName}.git

 

* github 사이트에 ssh 적용해주기

1. 아래 명령을 이용해 ssh 공개 키를 확인하고 복사한다. (ssh로 시작하고 깃허브 이메일 계정으로 끝나는 부분까지 모두 복사)

$ cat ~/.ssh/깃허브키이름.pub

2. github 사이트 접속 후 로그인한다.

http://github.com 

 

GitHub: Where the world builds software

GitHub is where over 65 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...

github.com

3. 로그인되었으면 우측 상단의 본인 프로필 사진을 누르고 settings로 진입한다.

4. SSH and GPG keys 메뉴가 있는데 클릭하여 진입한다.

5. 진입했으면 contents 영역에서 우측 상단에 초록색 new keys 버튼을 클릭한다.

6. 클릭하면 아래 캡쳐와 동일한 화면이 뜨는데 이때 title은 본인이 식별할 수 있는 이름으로 하고, key 부분에 아까 복사했던 키를 붙여넣기한다. 나는 title을 노트북 제품명으로 했다.

7. add SSH key 버튼을 누르면 적용된다.

 

* gitlab 사이트에 키 적용하기

1. 아래 명령을 이용해 ssh 공개 키를 확인하고 복사한다. (ssh로 시작하고 깃허브 이메일 계정으로 끝나는 부분까지 모두 복사)

$ cat ~/.ssh/깃랩키이름.pub

2. gitlab 사이트 접속 후 로그인한다.

http://gitlab.com/ 

 

Iterate faster, innovate together

Our open DevOps platform is a single application for unparalleled collaboration, visibility, and development velocity.

about.gitlab.com

3. 로그인되었으면 우측 상단의 본인 프로필 사진을 누르고 settings로 진입한다.

4. 좌측에 SSH keys 메뉴가 있는데 클릭하여 진입한다.

5. 클릭하면 아래 캡쳐와 동일한 화면이 뜨는데 이때 title은 본인이 식별할 수 있는 이름으로 하고, key 부분에 아까 복사했던 키를 붙여넣기한다. 나는 title을 노트북 제품명으로 했다.

 

6. 모두 입력하면 add key 버튼이 활성화되는데 누르면 적용된다.

 

* ssh 키가 제대로 적용되었는지 확인하기

아래 명령을 bash에 입력하면 

$ ssh -T git@github.com
Hi 깃허브별명! You've successfully authenticated, but GitHub does not provide shell acess.

$ ssh -T git@gitlab.com
Welcome to GitLab, @깃랩별명!

 

 

반응형