명령줄 또는 API에서 GitHub에 인증할 때 암호 대신 personal access token을 사용할 수 있습니다.
Personal access token은 GitHub API 또는 명령줄을 사용할 때 암호를 통해 GitHub AE에 인증하는 대신 사용할 수 있는 대안입니다.
Github Doc 참조
HTTPS를 통해 Git 작업을 수행할 때 암호 대신 이 토큰을 입력하여 사용할 수 있다.
예를 들어 명령줄에서 리포지토리를 복제하려면 다음과 같이 git clone 명령을 입력해야 한다.
그러면 사용자 이름과 암호를 입력하라는 프롬프트가 표시며, 암호를 입력하라는 프롬프트가 표시되면 암호 대신 personal access token을 입력하여 clone을 진행할 수 있게 된다.
$ git clone https://호스트 이름/USERNAME/REPO.git
Username: YOUR_USERNAME
Password: YOUR_PERSONAL_ACCESS_TOKEN
주의 : Personal access token은 HTTPS Git 작업에만 사용할 수 있습니다. 리포지토리에서 "SSH 원격 URL"을 사용하는 경우 원격을 "SSH에서 HTTPS"로 전환해야 합니다.
그렇다면 이제 정의와 사용방법을 알게 되었으니 토큰을 어떻게 생성할 수 있는지 알아보자.
토큰을 생성하게 되는 과정은 크게 2가지가 있다.
첫째는 github를 처음 시작할 때, 토큰을 생성하는 것이고,
두번째는 예전에 생성한 토큰이 만료될 경우, 재생성하는 경우이다.
필자의 경우에는 후자에 해당하는데, 만료되기 직전, 그리고 만료되고 나서 깃허브에 등록한 이메일 주소로 토큰 재생성이 필요하다는 메일이 도착했다.
이제부터 본격적으로 토큰을 생성하는 방법을 알아보자.
우측 상단의 개인 프로필을 선택하면 다음과 같은 슬라이드 창이 보이느데 하단의 Settings 페이지에 접속한다.
좌측의 네비게이션 바 가장 아래부분에 Developer settings
으로 들어간다.
Personal access tokens
의 Tokens(classic)
에서 Generate new token
을 통해 새로운 토큰을 생성하자.
필자 같은 경우에는 이미 예전에 생성한 만료된 토큰 2개가 보이지만 처음 생성한다면 아무것도 표시되지 않는 것이 정상이다.
Note 부분에 토큰에 대한 간단한 설명을 적고, 이 토큰에 대한 만료 일자를 설정해주면된다. 만료일자를 짧게하는 경우, 보안이 강력하겠지만 자주 재생성해야하는 불편함이 존재한다.
그렇다고해서 no-expiration 항목을 선택하는 오류는 범하지 않도록 하자.
Github에서 토큰은 암호로써 사용되는 것만큼 토큰을 만료없이 생성하는 것은 매우 위험한 일이다.
필자는 1년의 만료 기간을 설정하였다.
토큰의 만료 일자에 대한 옵션
만약 레포지토리의 push, pull등 간단한 작업만 수행한다면 아래의 체크박스에서 repo부분만 체크하면 된다.
토큰을 생성하고나면 토큰 일련번호를 확인할 수 있는데, 현재 이 페이지를 나가게 되면 다시는 확인할 수 없으니, 로컬 저장공간에 잘 메모해 두자.
이렇게 토큰 생성이 완료되었다!