6/7 수 저녁, 갑자기 git push가 안 되는 현상을 겪었다. 오류의 첫 줄이 무슨 말이냐면 Password 인증방식이 일시적으로 brownout(shutdown?)되었다. Password 대신에 personal access token을 사용..
해결이 우선인 분들을 위해 내가 찾은 2가지 해결법을 소개한다:
여기 블로그에 너무 잘 정리되어 있어서 그대로 따랐다.
+추가)
위의 방식대로해도 푸쉬 접근 문제 해결 안되서 다시 키체인을 열어봤더니(command + space를 누르고 keychain 을 검색하자)
github.com (Password not saved) 라고 되어있었다.
그래서 마우스 오른쪽 클릭 > 클립보드에 암호 복사하기 > 맥북 로그인 비번 입력 2번
하니 접근 권한이 완전히 설정되었다.
두 번째 방법은 여기 블로그를 참고했다.
간단히 요약하면:
ssh 키를 설정하고(공개키), 공개키를 깃헙에 등록 후 > ssh 방식으로 git을 사용해주면 된다.
위 블로그에 자세한 방법이 너무 잘 정리되어 있으므로 설명 생략.
git 이 2021.8.13 을 이후로 인증 방식을 바꿨기 때문이었다.
내가 이해한 바에 따르면, 개인 컴퓨터(로컬)와 원격 저장소(깃헙)간의 통신을 할 때는 인증 작업이 이뤄지는데(이 사용자가 원격 저장소의 사용자가 맞는지), 기존에는 비밀번호를 설정해두고 입력하면 되는 비밀번호 인증 방식이었다.
그런데 비밀번호 인증 방식은 보안성이 떨어진다고 한다. 그래서2021년 비밀번호 인증에서 더 안전한 인증 방식들로 바꿨다고.
둘의 차이는 뭐고 뭐가 더 좋지?
스택오버 플로우에 따르면 보안성 순서는 토큰 > SSH > 비밀번호 인증 방식 순인 듯하다.
ssh 는 읽기 전용 또는 읽기-쓰기만 가능하고 한정된 레포지토리만 가능한 반면 토큰은 허용 방식이 더 잘 정리되어 있다(고 하는데 솔직히 지금 단계에서는 다 이해 안된다.)
깃에서는 이러한 이유로 ssh키보다 토큰 사용을 더 권장한다고 한다.
ssh 에 대해 알게되었다.
SSH(Secure Shell)원격 컴퓨터에 안전하게 엑세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜. 강력한 암호화 기능을 구현해 모든 데이터가 암호화 되기에 높은 보안을 지원 포트 22 사용. 클라이언트 인증도 필요하다.
다른 인증 방식들에 대해 궁금해지는 계기가 되었다.
1) 인증 방식의 종류이 비밀번호, 토큰, ssh 이정도가 다인가? 더 있나?
2) 프로토콜 방식: HTTPS 방식 vs. SSH 방식도 찾다보니 나왔는데 이건 뭐지?
3) 1)과 2)는 어떤 관계?
나중 포스팅에서 인증방식들의 종류와 차이, 장단점에 대해 정리해 봐야겠다.
토큰으로 해결 방법 > https://hyeo-noo.tistory.com/184
ssh로 해결 방법 > https://hankyeolk.github.io/2021/08/15/githubSSH.html
토큰 vs. ssh > 스택오버플로우
다른 인증 방식들 > https://algoroot.tistory.com/16
ㅋㅋ해결한거 보니 뿌듯하네요!