본문 바로가기
테크 세미나/개발 Nous

새로운 기기 깃허브 저장소 연결, github 비밀번호 없이 사용하기

by Junmannn 2022. 4. 27.
반응형

18개월간의 길다면 길고 짧다면 또 짧을 수 있는 근무 후 이직을 결정하여 스타트업을 떠나게 되었습니다. 이유야 다양하겠지만, 이직의 근본적인 이유는 본인이 지금의 회사에 만족을 하고 있지 못하다는 뜻이겠지요. 하여튼, 기존에 사용하던 맥북을 반납 후 개인 맥북으로 프로젝트를 하려고 했습니다. 여러가지 오류가 발생하더군요, 카페에서 육두문자를 중얼거리며 삽질을 해본 후 에러 사항들과 이에 대한 해결 방법들을 적어보려 합니다. 여러 문제들을 다 써봤어요 한번 같이 따라해 보시면 좋을 것 같아서 올려요

 

처음부터 같이 할게요.

1. 깃허브 저장소 연결하기

1. 깃허브에 접속하여 New repository를 누릅니다.

저는 public으로 만들 것이고, Add a README file 을 체크하였습니다.

2. 터미널에서 작업중인 혹은 작업을 할 폴더를 만들고 (mkdir 만들고싶은폴더이름), 해당 폴더로 들어갑니다(cd 만들고싶은폴더이름), 그 후 git init 을 합니다.

git init

git init은 업로드할 폴더에서 로컬 저장소 깃을 생성하는 것입니다

 

3. git remote add origin 저장소주소

git remote add origin 저장소주소

저장소 주소는 1 에서 만든 저장소에 들어가 오른쪽 Code 버튼을 눌러 HTTPS 를 가져오는 것입니다.

4. 그리고 이제 처음으로 푸시를 하여 연결할 것입니다.

git add .
git commit -m "첫 커밋"
git push origin master

 

그런데 이러한 문구가 나온다면!!!!!

 

git permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists

 

기기가 바뀌었더니 키가 없나 싶었습니다.

 

2. SSH 키 문제 해결하기

너무 오랫동안 사용을 하다 보니 잊고 있었던 깃허브 초기 설정들. 일단 ssh 파일을 내가 이 기기에서 만든 적이 있는지 먼저 살펴보아야 한다. 찾아보는 방법은 터미널을 켜 하단의 명령어를 입력하면 됩니다.

cd ~/.ssh

.ssh 폴더가 있는지에 대해서 보여줄 것입니다. 

ls

ls를 입력하여 해당 폴더 내에 있는 파일들을 봅니다. 여기서 중요

id_ed25519 와 id_ed25519.pub 과 같은 쌍 혹은

id_rsa 와 id_rsa.pub 쌍이 있는지 확인해야 됩니다.

 

있다면

cat id_rsa.pub

명령어를 통해 안의 내용을 전부 복사하심 됩니다. (vim id_rsa.pub 으로 키면 복사가 어렵겠죠 당연히)

 

없다면

ssh-keygen -t ed25519 -C "your_email@example.com"

명령어를 통해 ssh 키를 생성합니다.

아래에 SSH 키를 만드는 오피셜 사이트를 넣어 놓을게요. 설명 잘 되어있습니다

https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

Git - SSH 공개키 만들기

많은 Git 서버들은 SSH 공개키로 인증한다. 공개키를 사용하려면 일단 공개키를 만들어야 한다. 공개키를 만드는 방법은 모든 운영체제가 비슷하다. 먼저 키가 있는지부터 확인하자. 사용자의 SSH

git-scm.com

만일 ed25519의 방식이 작동하지 않는다! 그렇다면

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

해당 명령어로 만들면 됩니다. 위의 명령어들로 생성이 된 개인키는 정말로 개인 키에요. 노션에 쓰고 공유하고 와 이런 경우는 와 생각을 하지 말죠. 절대 공개하지 마세요

 

이제 이 키를 깃허브에 등록을 해야겠습니다.

깃허브 (github.com)으로 들어가 우측 상단 사용자 아이콘 클릭 후 settings -> SSH and GPG keys로 갑니다.

01

그리고, New SSH key를 눌러 신규 ssh 키를 등록해 주면 됩니다. 아래의 Key 란에, 위에서 복사한 ssh 키를 붙여넣어주면 완성입니다.

이렇게 했는데도 깃허브 저장소와 나의 프로젝트가 연결이 안된다면  VS code를 껏다 킨다. 그래도 안된다면 일단 나의 노트북 자체에 깃허브 계정이 연결이 잘 된건지 본다. 

# Git 설정에 정보 등록
$ git config --global user.name "본인 깃허브에 등록한 이름을 쓰셔야 합니다"
$ git config --global user.email "본인 깃허브에 등록한 이메일을 쓰세요"

위의 명령어까지 넣는다면 대부분의 문제는 거의 다 해결이 됩니다.

 

3. Push 오류

Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.

 

ㅋㅋㅋㅋ다 끝난 줄 알았는데, 이와 같은 문구가 또 뜨네요. 본인의 문제가 아닙니다. 함께 해결하시죠.

 

이 부분은 무엇이냐, 깃허브에서 공식적으로 2021 년 중반부터 인증에 대해서 token이 사용될 것이라는 것이죠. 깃허브 계정 이름과 비밀번호를 입력하여 우리는 코드를 올렸었는데, 해당 방식에 대한 지원을 끊은 것입니다. 해결하러 가시죠.

 

1. 다시 github사이트에서 우측 상단 프로필 아이콘을 클릭하여 Settings를 가줍니다

2. Developer Settings를 가줍니다.

글 작성 시기에는 Settings 페이지에서 좌측 최하단에 있네요. 바로 가실 링크 남겨둘게요. Developer Settings 바로가기

3. Personal access tokens - Generate new token

토큰 만들고 반드시 복사하세요. 절대 창 바로 닫지 마시구요.

No expiration 으로 고른 이유는, 또 한두달 후 어 뭐지 왜 또 오류지! 이런 짓을 하고 싶지 않았기 때문입니다. 저는 저의 기억력을 믿지 않아요ㅎㅎ 저랑 비슷한 생각이시라면 저같이 만료 기한 없이 하셔도 됩니다. 나중에 바꾸면 되죠. 그리고 scpoe는 원하시는대로 설정하시면 됩니다. 저는 repo 관련은 일단 전부 했어요.

 

이렇게 만들어진 토큰을 복사했다면, 다시 push 를 할 때에 비밀번호에 붙여넣기를 하면 됩니다.

그런데, 이렇게 귀찮게 계속 해야 되나 싶은데..

 

우린 귀찮은 것을 싫어한다. 그래서 발전한다.. 

 

4. 깃허브 Github 비밀번호 없이 push pull 하기

repository 로 이동하여 code를 클릭 후 SSH 를 선택한다

 

1. git init을 하지 않은 경우

git init
git remote add origin 복사한ssh코드

2. git init을 이미 한 경우

git remote remove origin
git remote add origin 복사한ssh코드
git remote show

git remote show 로 잘 들어갔는지 확인을 하는 것입니다.

반응형