카테고리 없음

git 에러: Permission denied (publickey) 해결

초코쨔응 2024. 5. 15. 20:22

리눅스 서버 버전을 업그레이드한 후에 repo init 은 성공했는데, git fetch (cherry-pick) 이 안 되는 문제가 발생하였다.

 

입력한 명령어:

$ git fetch "ssh://이름@서버주소:29414/repository명" refs/changes/숫자 && git cherry-pick FETCH_HEAD

 

다음과 같은 에러가 났다.

이름@서버주소: Permission denied (publickey).

fatal: Could not read from remote repository.

 

Please make sure you have the correct access rights

and the repository exists.

 

 

1) 생성한 RSA key 가 날아갔나 싶어서 .ssh/ 폴더 밑을 확인해봤는데 키는 날아가지 않았다.

(생성 방법: https://oingdaddy.tistory.com/203)

 

2) .ssh/config 에 맨 아래 줄들을 추가하고서 해결되었다.

(정확한 출처를 찾지 못해서 직접 썼는데, 오타가 있을 수 있어 확인 필요)

 

Host 서버이름

HostName 서버주소

Port 29414

User 이름

HostkeyAlgorithms +ssh-dss,ssh-rsa

KeyAlgorithms +diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

PubkeyAcceptedKeyTypes +ssh-rsa

 

이걸 추가한 후에 git fetch 할 때 서버주소가 아닌 위에 설정한 서버이름으로 써야한다는 것을 주의해야한다.

 

$ git fetch "ssh://이름@서버주소:29414/repository명" refs/changes/숫자 && git cherry-pick FETCH_HEAD

$ git fetch "ssh://서버이름" refs/changes/숫자 && git cherry-pick FETCH_HEAD