Web Publisher

mac에서 ssh key 발급 받아 프로젝트 clone하기

끄덕쓰 2023. 5. 5. 23:01

클론하고 싶은데 ssh key가 없으면 클론이 안되는 프로젝트들.. ^ㅠ^

진짜 엄청 많은 곳에서 방법들을 짜깁기해서 성공했는데

내가 막혀서 헤맨 부분들을 정리해본다.

 


// 개요
1. ssh key 받기
2. ssh key 등록
3. config 값 변경
4. git clone 받기

 

 

1.ssh key 받기

// ssh-keygen -t rsa -C "여기엔 이메일 입력하자";
ssh-keygen -t rsa -C "asdf@gmail.com";

ssh-keygen -t rsa -C 뒤엔

깃헙이나 깃랩같은 ssh키를 사용할 사이트에서

로그인할 때 아이디 대신해서 넣을 수 있는 자신의 이메일 계정을 적는다.

 

엔터를 치면 키를 저장하는 경로가 뜨며 ssh키 파일명을 설정할 수 있는데

계정이 하나만 ssh key 하나만 필요할 경우

기본값 id_rsa로 파일이 저장되도록 그냥 엔터치면 된다.

 

만약 여러 개의 계정에 대한 ssh key가 필요한 경우에는

// Enter file in which to save the key (경로): 여기에 id_rsa 대신 입력하면 됨
Enter file in which to save the key (경로): id_rsa_work

 

ssh key가 저장되어 있는 파일명을 구분지어 저장하기 위해

: 뒤에 원하는 파일명을 써서 ssh key를 발급받는다.

나는 id_rsa뒤에 _work를 붙여서 하나 더 만들어 봄.

 

passphrase..

비번 만들꺼냐고 묻는데

그냥 빨간 표시 나올 때마다 엔터눌러주면

아래 이미지 뜨면서 키가 발급된다.

 

2.ssh key 등록

ssh key 저장된 rsa_id.pub (공개키) 파일을 열어 나오는 키를 다 복사해서 key에 붙여넣고

title은 걍 어떤 컴에서 접속하는 용도로 쓰는건지 그런것들을 적어 놓고 키를 등록한다.

 

그리고 SSH 키를 SSH 에이전트(ssh-agent)에 등록한다.

이 부분은 필수까지는 아닌 것 같다.

// 1). 터미널을 켜 ssh에이전트를 실행한다.
eval "$(ssh-agent -s)"

// 2). ssh에이전트에 키를 추가한다.
ssh-add ~/.ssh/{ssh키 id입력}

 

3.config 값 변경

ssh키를 여러 개 만들었는데 컴퓨터가 알아서 잘 넣어주면 좋겠지만

컴퓨터는 구분을 못하는듯하다.

따라서 config에 이렇게 쓰면 특정 서버에 접속할 때 어떤 키를 사용해서 접속할지를 컴퓨터가 알 수 있게 해준다.

 

.ssh폴더에는 rsa파일이 저장되어 있는데 (만약 딴곳에 rsa파일이 생성됐으면 자연스럽게 잘라내기해서 .ssh폴더에 넣어준다)

맥은 숨긴 폴더 처리가 되어있어서

shift + commend + .을 누르면

숨긴 폴더 표시가 된다.

 

거기에 rsa파일이 저장되어 있는지 보고

config파일을 찾는데 없으면 만들어준다.

그리고 vscode와 같은 텍스트 편집기로 열어서 파일에 다음과 같이 써준다.

# 회사 GitHub 계정
Host github.{git-repo주소에 나와있는대로}.com
    HostName github.{git-repo주소에 나와있는대로}.com
    User git
    IdentityFile ~/.ssh/id_rsa_work // 파일명
    IdentitiesOnly yes

# 회사 Gitlab 계정
Host Gitlab.{git-repo주소에 나와있는대로}.com
    HostName Gitlab.{git-repo주소에 나와있는대로}.com
    User git
    IdentityFile ~/.ssh/id_rsa_work
    IdentitiesOnly yes

# 개인 GitHub 계정
Host github.{git-repo주소에 나와있는대로}.com
    HostName github.{git-repo주소에 나와있는대로}.com
    User git
    IdentityFile ~/.ssh/id_rsa_private
    IdentitiesOnly yes

 

 

4.git clone 받기

# 개인 깃헙 프로젝트
git clone git@github.com-private:private/my-personal-repo.git

# 회사 (깃헙의 경우) 프로젝트
git clone git@github.com-work:company/my-company-repo.git

# 회사 (깃랩의 경우) 프로젝트
git clone git@gitlab.com-work:company/my-company-repo.git
// git clone ssh key 복사한 부분
git clone git@gitlab.삐리리.com:삐리리.git

성공적으로 clone했다면 ssh key 잘 받아진거

 

번외 - token으로 clone하기

ssh키 받았는데 gitlab에서는 토큰을 이용하는 것 같았다..
아니 요구하는 것이 왜이렇게 많은가?
git clone https://oauth2:{토큰}@{gitlab~주소~.git}​

 

그땐 이렇게 쓰면 받아진다.

 

번외 - ssh key 업데이트하는 방법

ssh/known_host 파일을 제거한다.

'Web Publisher' 카테고리의 다른 글

[포토샵] 슬라이스툴 다루는 법 정리  (0) 2020.08.10