클론하고 싶은데 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하기
git clone https://oauth2:{토큰}@{gitlab~주소~.git}
그땐 이렇게 쓰면 받아진다.
번외 - ssh key 업데이트하는 방법
ssh/known_host 파일을 제거한다.
'Web Publisher' 카테고리의 다른 글
[포토샵] 슬라이스툴 다루는 법 정리 (0) | 2020.08.10 |
---|