본문 바로가기

개발/ETC

Sourcetree에서 Permission Denied가 뜰 때 해결법

반응형

보안을 위해 SSL 인증을 설정한 뒤, 몇 번 푸시를 하다가 어느 순간부터 푸시가 안 되는 경우가 발생했습니다.
Git CLI에서는 아무런 문제가 없었기에 당황스러웠는데요, 이에 대한 해결 방법을 찾아 여기에 적어보고자 합니다.

SSH 인증에 문제가 있는 건 아닌지 확인하기

% ssh -T git@github.com
Enter passphrase for key '/Users/hee/.ssh/id_rsa': # SSH키 비밀번호 입력
Hi hee! You've successfully authenticated, but GitHub does not provide shell access.

이 단계에서 Hi ***! 라는 응답을 받지 못했다면 Github에 등록된 SSH 인증이 잘못되어 있는 경우이므로, Github의 인증을 다시 설정해주세요.
저는 이 단계에서는 문제가 없었습니다.

ssh-add

% ssh-add -l
The agent has no identities.

% ssh-add ~/.ssh/id_rsa # 이름이 다를 수 있으니 주의
Enter passphrase for /Users/hee/.ssh/id_rsa: # 비밀번호 입력
Identity added: /Users/hee/.ssh/id_rsa (hee)

% ssh-add -l
4096 SHA256:...... hee (RSA)

% ssh -Tv git@github.com
OpenSSH_8.1p1, LibreSSL 2.7.3
...
Hi hee! You've successfully authenticated, but GitHub does not provide shell access.

이 과정을 거치자 문제 없이 push, pull이 가능해졌습니다.

 

참고 : Permission denied (publickey)