목차
Introduction
github의 정책이 바뀌면서, Push 또는 Pull을 할 때 패스워드 인증을 지원하지 않는다.
대신, Personal Access Token을 사용하라고 뜬다.
Github Personal Access Token 발급 방법
Github 접속 -> 우측 상단 프로필 사진 클릭 -> Settings 클릭
페이지 좌측의 'Developer settings' 클릭
'Personal access tokens' 클릭 -> 'Generate new token' 클릭
비밀번호를 치면!
새로운 Personal Access Token을 생성하는 창이 뜬다.
- Note : Access Token의 이름? 아무 이름이나 붙여주면 됨
- Expiration : 만기일 (Default는 30일) -> 만기일 지나면 다시 token 생성해야함. 본인은 그냥 90일정도로 설정해 두었음
- Select scopes : 범위 -> 뭔지 제대로 몰라서 전체 다 체크했음
까지 설정한 후에,
Generate token 버튼을 눌러주면 token이 뜸
주의! token을 다시 볼 수 없기 때문에, 곧바로 자신만이 알 수 있는 곳에 저장해두었다가, 이후에 사용!
이제, Github 아이디와 비밀번호를 물어볼 때, 아이디는 그대로 기입하되, 비밀번호에 방금 발급받은 Personal Access Token을 입력해 주어야 함
한 번만 입력하고, 더 이상 묻지 않게 하기
Token을 잊어버리거나 만료된 경우, 매번 다시 토큰 생성을 하는 것이 너무 귀찮아서 모두 정리해 둔다.
먼저, git에서는 'credential'이라는 기능을 제공한다.
크게 'Cache', 'Store' 두 방법으로 나뉜다
Cache는 인증 정보를 Disk에 저장하는 것이 아니라, 메모리에 15분 까지만 저장해두고, 더 길게 하려면 시간을 연장해 주어야 한다.
반면 Store는 인증 정보를 Disk에 저장하여 계속 유지하게 해준다.
개인 컴퓨터인 경우에는 Store를 사용하는 것을 추천한다.
로그인 정보를 OS 자체에서 지원하는 Keychain 시스템을 통해 좀 더 안전하게 저장할 수도 있다.
git config
git config란, git에 대한 설정 정보이다.
- git 전체 config 리스트 보기
git config --global --list
- git config 설정하기 (이름, 이메일)
git config --global user.name "이름"
git config --global user.email "이메일"
-> global : 전역적인 설정
- git config 삭제하기
git config --unset --global user.name
git config --unset --global user.email
Credential.helper - Cache
id, password를 짧은 시간동안 반복적으로 입력하는 일을 피할 때 사용
git config --global credential.helper cache
-> 위의 'git config --global --list'를 입력해보면 'credential.helper=cache'라고 리스트에 추가된다.
-> 한 번 cache를 하면 15분동안 메모리에서 유지하는데, 시간을 연장하려면 다음의 명령어를 입력한다.
git config credential.helper 'cache --timeout=3600'
-> 위와 같이 설정해두면 3600초, 즉 1시간동안 캐싱을 한다.
Credential.helper - Store
id, password를 Disk에 저장하고 유지하고싶은 경우에 사용
git config --global credential.helper store
-> 위의 'git config --global --list'를 입력해보면 'credential.helper=store'라고 리스트에 추가된다.
-> 한 번 로그인된 정보는 자동으로 저장되며 다음부터 묻지 않게 된다.
-> 저장된 로그인 정보는 ~/.git-credentials 경로에 저장된다.
Credential.helper - Keychain
Store의 경우, 파일에 로그인 정보가 그대로 저장되어, 유출의 우려가 있을 수 있다.
좀 더 안전하게 사용하려면 OS에서 지원하는 Keychain 시스템을 이용하면 된다.
Mac / Windows에서의 방법이 조금씩 다르다.
- Mac
git config --global credential.helper osxkeychain
<새로운 token (아이디) 등록>
Launchpad - 기타(폴더) - 키체인 접근
또는 Finder - 응용 프로그램 - 유틸리티 - 키체인 접근.app 실행
이후 수동으로 'github.com'항목을 찾아 삭제 ('인터넷 암호'인 키를 클릭해야함)
이후 user.name, user.email로 이름, 이메일을 변경
git config --global user.name "JJukE"
git config --global user.email "깃허브 계정(이메일 주소)"
새로 등록된 계정으로 git commit, git push 명령 실행
-> id, password(token) 입력
-> push 완료 후 자동으로 키체인에 새로운 계정 정보가 등록됨
- Windows
git config --global credential.helper wincred
Windows의 경우, "자격 증명 관리자(Credential Manager)"에서 등록된 정보를 확인할 수 있다. 만약 remote repo의 비밀번호를 수정했다면(token이 만료되는 등으로 갱신했다면) 정보를 삭제하고 새로 등록해주어야 한다.
최근댓글