공부

[Github] Support for password authentication was removed on August 13, 2021 / Fine-grained vs classic

Zedd0202 2023. 11. 27. 13:27
반응형

개인 맥북에서 (정말 오랜만에) clone 하려니까

이게 나오길래 그냥 생각없이 github 비밀번호 쳤더니.. 

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.

요게 나왔다. 

차근차근 수정해보자! 

 

1. Github 프로필로 이동 https://github.com/settings/profile

 

GitHub: Let’s build from here

GitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...

github.com

 

2. 왼쪽 제일 하단 Developer settings 클릭

 

3. Personal access tokens > Tokens > Generate new token 클릭 

이렇게 뜰텐데, 나는 classic으로 선택.. 

Fine-grained 는 하단에서 설명하겠다. 

 

4. Expiration 및 Scope 설정

보통 No expiration으로 많이하고, 나는 권한이 없어서 다시 토큰을 regenrate하는 일을 방지하기위해 다 체크를 해줬다, 

 

5. 화면에 토큰이 보일텐데, 꼭 복사를 해두자.

나가면 다시 못봄 

 

6. 다시 clone이나 push 시도

그러면 Username이랑 Password 받을거임

Username for 'https://github.com': 유저네임
Password for 'https://Zedd0202@github.com': 토큰 복붙

하고나면 clone이나 push가 제대로 되는 것을 볼 수 있다.

 

# Q&A

Q : Username을 어떻게 확인? 

A : 본인 Github 프로필 URL(https://github.com/본인의_Username)에 붙어있는거로 알고있긴한데..맞겠져 

ex. 나의 경우  https://github.com/Zedd0202 < 라서 Username은 Zedd0202 

 

Q : 생각해보니까 Username잘못입력함;;; 다시 입력하고싶은데.. 

Username for 'https://github.com': 유저네임
Password for 'https://Zedd0202@github.com': 토큰 복붙

이거 다시 나오게 하는 방법 없는지?ㅎ;;

A : 키체인 접근 > github 검색

키체인 > 로그인인거 삭제하면 되는듯하다. 나는 수정일로 보긴 했는데;; 우클릭하면 삭제 나옴 

다시 clone이나 push하면 

Username for 'https://github.com': 유저네임
Password for 'https://Zedd0202@github.com': 토큰 복붙

이거 다시 물어보는 것을 볼 수 있다! 

 

Q : Fine-grained, repo-scoped 이거 머임; 이거로 하면 안되는지..

A :  Github 공식 문서에서는 classic 대신 Find-grained를 사용할 것을 권장한다고 나와있다.

 GitHub recommends that you use fine-grained personal access tokens instead of personal access tokens (classic) whenever possible.


Fine-grained는 classic에 비해 다음과 같이 보안적으로 좀 더 안전하다. 

- 각 토큰은 단일 사용자 또는 조직이 소유한 리소스에만 액세스할 수 있습니다.

- 각 토큰은 특정 저장소에만 액세스할 수 있습니다.

- 각 토큰에는 개인 액세스 토큰(클래식)에 부여된 범위보다 더 많은 제어를 제공하는 특정 권한이 부여됩니다.

- 각 토큰에는 만료 날짜가 있어야 합니다.

- 조직 소유자는 조직의 리소스에 액세스할 수 있는 세분화된 개인 액세스 토큰에 대한 승인을 요구할 수 있습니다.

자세한건 https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens 참고! 


음 organization이 있고, 권한을 세밀하게 관리해야하는 거면 Fine-grained를 쓰면 좋을 것 같긴한데,

나는 혼자 쓰는거니까 그냥 classic이 마음 편한것 같다. 

Fine-grained를 써볼까도 싶지만 위에서 언급됐듯이 만료날짜가 반드시 있어야 하기 때문에..

Expiration에 No Expriation설정이 없다.. 

classic / Fine-grained

(대충 Fine-grained를 안쓰는 가장 큰 이유라는 뜻)

 

끝!

반응형