github 레파지토리를 로컬에 연결할경우 https 와 ssh 둘 중 하나의 방법으로 remote하곤 했었다.
ssh는 키를 이용하여 해당 로컬에 연결하는 것인데, 이 방법을 택하여 연결하는 필요성이 와닿진 않았다.
보완상 좋다? 라고만 구글링해도 나와서...
하지만 단체 및 내 계정의 레파지토리를 로컬에 연결하여 터미널로 풀, 커밋 및 푸시를 날리고 싶을 경우 자꾸만 아래와 같은 에러를 뿜었다.
remote: Repository not found.
fatal: repository 'https://github.com/vsquaregit/Publish-DEMO.git/' not found
잘 생각해보면, 내계정 즉, 내가 주인이 아닌 계정에 만든 레파지토리 즉, 단체에서 날 초대하여 Admin 권한을 준상태에서 내 로컬에 연결 후 pull 을 하려고 하니 자꾸 찾을 수 없다는 것이였다.
따라서 공개키를 해당 로컬에 만들고 저장하여 Admin권한을 준 계정에 연결 후 로컬에 remote하여야 정상 작동이 될것이다.
bash 터미널에서, 아래 순서대로 공개키 설정, 할당 및 ssh로 git repository remote하기
1. 먼저 Admin권한을 준 user.name과 user.email을 확인 및 기존 https로 연결되어있는 Publish-DEMO 레파지토리 삭제
git config user.name
git config user.email
git remote remove origin
2. user.name에 대한 계정에 공개키 할당전 기존에 만든 공개키 존재 조회
cd ~/.ssh
ls
3. cd ~/.ssh 명령어로 찾을 수 없다는 콘솔이 나오면, "cd ~/"로 최상위로 우선 이동
4. 키 생성 아래 명령어 입력후 경로 선정 확인이 나오면 엔터
ssh-keygen -t ed25519 -C "user.email"
5. 사용자 암호(Passphrase) 입력. 입력 원치않으면 엔터 두번
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
6. 아래와 같이 비슷하게 나오면 키 생성이 완료된 것이다.
***** 공개키는 공개되도 상관없지만 개인키는 절대 공개되어선 안된다.
$ ssh-keygen -t ed25519 -C "user.email"
Generating public/private key pair.
Enter file in which to save the key (/c/Users/):
Created directory '/c/Users/'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/
Your public key has been saved in /c/Users
The key fingerprint is:
EDDD345:dfddafsdfsafQWWEWedo user.email
The key's randomart image is:
+--[eeeee 111]--+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+----[eeeeee]-----+
7. 깃허브 해당 계정에 연결을 위해 생성한 공개키 출력 명령어 입력 후 나오는 공개키 나열 번호를 복사한다.
cat ~/.ssh/공개키명.pub
8. 해당 깃허브 계정으로 깃허브 홈페이지 로그인 및 우측 상단 Settings에서 SSH and GPG keys 클릭 후 New SSH key 버튼 클릭후 아까 복사한 공개키를 저장한다.
9. 해당 레파지토리로 돌아가 하단 캡처에서 보이는 네모 Code 버튼을 눌러 SSH로 설정 및 url을 복사한다.
10. 다시 해당 레파지토리가 있는 로컬 경로에서 ssh로 레파지토리 연결.
첫번째 방법,
git remote add origin git@github.com:user/repository.git
두번째 방법,
git clone git@github.com:user/repository.git
11. 방금 ssh로 연결된 저장소 확인
git remote show
12. 브랜치 연결 확인
git branch -al
13. pull 해보면 정상으로 당겨져오는 것을 알 수 있다.
git pull origin main
😊
'TOOL' 카테고리의 다른 글
[SVG] svg window 미리보기 (0) | 2022.04.04 |
---|---|
[VSCode] Tab 간격 설정 해둔데로 유지하기 (0) | 2022.02.10 |
[github] git user.name, user.email local 및 global 설정 (0) | 2022.01.04 |
[Excel] 조건부 서식 이용하기 (0) | 2021.11.19 |
[VSCode] 맥북에서 한줄 선택(드래그) 단축키 (0) | 2021.11.15 |