내가 재부팅 할 때마다 명령어 까먹어서 기억하려고 쓰는 포스팅
재부팅 한 후에 터미널에서 `git push` 명령어를 사용해 깃헙의 remote repository에 push하려고 하면 권한이 없다는 오류 메시지가 뜰 때가 종종 있다 (clone 할 때도 마찬가지). 대충 아래와 비슷한 오류 메시지가 뜬다 (출처 - StackOverflow).
깃헙에 SSH key 등록되어 있는데 왜 권한이 없다는거지?!?!! 하면서 처음에 골머리를 많이 썩었는데, ssh-agent 자체가 ssh key를 임시적으로 저장하는 세션 서비스라서, 컴퓨터를 종료하면 agent가 종료되기 때문에 재부팅했을 때 agent가 key를 가지고 있지 않아서 그런 거라고 한다. 그리고 원래 그렇게 설계된거라고 한다.. (출처)
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
재부팅했을 때 키를 등록하는 방법
터미널에서 아래 커맨드 입력
ssh-add ~/.ssh/(프라이빗키파일이름)
// 예시
ssh-add ~/.ssh/id_rsa
agent에 현재 등록되어 있는 키 확인하는 방법
터미널에서 아래 커맨드 입력 Linux Manual Page ssh-add
ssh-add -l
재부팅 할 때마다 agent에 키를 등록하기 귀찮다면
여기 스택오버플로 답변 참고해서 config파일을 작성하면 된다 StackOverflow.
ssh-configure 공식문서에 들어가보면 AddKeysToAgent
를 설정해서 key를 agent에 자동으로 등록할 지 말 지 설정할 수 있다고 한다 (Linux Manual Page ssh-configure).
'Git' 카테고리의 다른 글
GIT4 - Reset & Revert (0) | 2022.02.14 |
---|---|
GIT3 - CLI branch & conflict (0) | 2022.02.07 |
GIT3 - CLI Backup (0) | 2022.01.31 |
CLI (Command Line Interface) (0) | 2022.01.31 |
Git2 - CLI 버전관리 (0) | 2022.01.30 |