[github] 터미널로 프로젝트 다운로드 + Authentication failed for ~ 에러 해결
목적
깃헙에 업로드 된 프로젝트를 터미널을 이용하여 특정위치에 저장한다.
그런데 Authentication failed 이슈가 발생했다.
< 터미널로 git 프로젝트 clone하기 >
1. 깃헙 프로젝트에서 code의 clone으로 이동 후 url을 복사한다.

2. 터미널로 이동한 후 프로젝트를 다운 받을 폴더로 이동한다
cd {폴더경로}
3. 명령어 입력하여 원하는 위치에 프로젝트를 다운받는다.
git clone {프로젝트 깃주소 SSH 또는 Https }
Username for 'https://github.com':
Password for 'https://{github아이디}@github.com': {토큰번호 또는 비밀번호 입력}
< 오류처리! : Authentication failed for ~ 에러 해결>
[ 문제상황 ]
깃헙 아이디, 비밀번호를 입력해도 실패하는 경
터미널에서 git clone 프로젝트클론URL 을 입력 했는데, 깃 아이디와 비밀번호를 입력하게 했다.
깃헙의 아이디와 비밀번호를 입력했지만 프로젝트 다운로드가 되지 않는 문제가 발생했다
Github 에러 : Authentication failed for {프로젝트 클론주소} )
내컴퓨터이름 레파지토리이름 % git push
Username for 'https://github.com': 깃헙아이디
Password for 'https://깃헙아이디@github.com': 깃헙비번
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/깃헙아이디/레파지토리이름.git/'
[ Authentication failed 해결과 토큰 발급 ]
내용을 파악해보니 깃헙 비밀번호로 인증하는 것은 2021년 8월 13일에 종료되었으니
Personal access tokens으로 로그인을 하라는 내용이다.
" 비밀번호 인증에 대한 지원이 2021년 8월 13일에 제거되었습니다.
현재 권장되는 인증 모드에 대한 정보는 https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls를 참조하십시오. "
아래의 방법으로 해결했다.
1) github의 토큰 설정으로 이동 후 > [Generate new token(classic)]클릭
ㄴhttps://github.com/settings/tokens
ㄴ 프로필 이미지 -> setting -> Developer settings -> Tokens 으로 이동 -> [Generate new token(classic)]클릭

2) Note에 토큰 목적등을 간략히 서술하고 필요한 권한을 check한다.
- Note에는 이 토큰의 목적을 기입 ( 예 - automationProject )
- Expiration 으로 이 토큰의 유효기간을 설정하였다. ( 최대 90일까지만 가능하다. 이후 재갱신해야함 )
- 필요에 따라 scopes도 check하여 설정한다.

3) 맨 아래로 스크롤을 내린 후 [Generate Token]을 클릭하여 저장한다

4) 생성된 토큰 번호를 복사하여 보관한다. (중요!)
생성된 토큰 번호는 나중에 재확인 불가하다. 반드시 생성 직후 별도로 보관해야한다.
5) 터미널을 실행한 후 오류 이전의 작업을 다시한번 실행한다.
이 때 깃헙 아이디를 입력하고, 비밀번호를 입력하는 부분에 토큰번호를 붙여넣기 하면 문제가 해결되어 깃에 클론이나 푸시를 할 수 있다.
[참고]