SSH Key로 GitHub 원격저장소 와 Git 로컬 저장소 연결

solda-blue·2023년 2월 15일
0

학원에서 공부한 HTML 작업 폴더를 Git으로 commit하고 내용을 GitHub Repository에 push 하려고 했는데

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/solda-blue/~~~/'

이런 메시지가 출력되었다
처음엔 또 맥북 문제인가 싶었지만 GitHub 비밀번호로 remote(원격제어)하는 방식이 만료되었다고 한다.

그래서 열심히 구글링을 한 결과 SSH Key를 이용하면 GitHub와 연동할 수 있다고 한다.

일단 ssh 디렉토리로 가서 생성해둔 키가 있는지 확인해보자.

$ cd ~/.ssh
$ ls

터미널에 해당 명령어를 입력하니

이렇게 미리 생성해둔 키가 있었다.

아마 일전에 AWS를 이용하기 위해서 만들어놨던거 같지만 그 전에는 블로깅을 하지 않아서 지금은 기억이 전혀 나지 않았다.

https://www.lainyzine.com/ko/article/how-to-link-github-remote-repository-and-local-git-repository/

https://hankyeolk.github.io/2021/08/15/githubSSH.html

그래서 이 두분의 포스트를 많이 참고 했는데 키 생성부분은 다음에 정리하기로 하고 오늘은 SSH Key를 내 Github 계정에 등록하고 SSH 방식으로 Git push 해보자

(아직 SSH Key가 없으신 분들은 위의 블로그로 가시면 아주 자세하고 친절하게 설명해 놓았다. 아주아주 고마우신 분들)

일단 id_rsa 와 id_rsa.pub 이렇게 두개의 key가 있는데 서로 완전히 다른 key가 아니라 저렇게 한쌍을 이루고 있는거라고 보면 된다. 그중에서 .pub이라고 되어있는 키는 public key(공개 키)로써 내가 접속하려는 서버에 등록하고 내 컴퓨터에 저장된 public key와 쌍을 이루는 private key(개인키, 비밀 키)를 서로 대조해서 일치 할 때에 인증이 된다고 볼 수 있다.

그러므로 public key는 공개해도 크게 상관이 없지만 private key는 절대 함부러 공개해선 안된다.

(체계적으로 공부한게 아니라 틀린부분이 다수 있을 수 있으니 주의)

자 그러면 일단 내 public key를 출력해보자.

$ cat id_rsa.pub

이렇게 나온 key를 복사한 다음

pbcopy < ~/.ssh/id_rsa.pub

(그냥 복사해도 되지만 이렇게 복사하는게 낫다고 한다.)

https://github.com/settings/ssh/new
위 주소로 들어가면 SSH Key등록 창이 나온다. (당연히 GitHub 계정이 필요하다.)

Title은 본인이 알아보기 편한대로 지으면 되고 아까 복사한 public key를 key 영역에 붙여넣기 한다. (key type은 뭔지 몰라서 건들지 않았는데 그래도 성공했다.)

잘 등록 된걸 볼 수 있다.

그 후엔 https url 주소로 되어있는 세팅을 아래와 같이 바꿔준다.

$ git remote set-url [origin name] git@github.com:[username]/[repository name].git

이제 모든 설정이 끝이 났다. 이제 push를 해주면

$ git push -u origin main

정상적으로 Repository에 파일들이 올라가는걸 볼 수 있다.

느낀점 : 무엇이든 할 때 자료정리 잘하고 바로바로 기록해두자.
그리고 벨로그 글 작성할때도 좀 체계적으로 적자.

0개의 댓글