Git 원격 저장소에서 풀/푸시할 때마다 $("ssh-agent")를 사용해야 하는 이유는 무엇입니까?

Git 원격 저장소에서 풀/푸시할 때마다 $("ssh-agent")를 사용해야 하는 이유는 무엇입니까?

원격 Gitlab 저장소로 끌어오거나 푸시하려고 할 때마다 다음 오류가 발생합니다.

**> sign_and_send_pubkey: 서명 실패: 에이전트가 작업을 거부했습니다.

권한이 거부되었습니다(공개키). 치명적: 원격 저장소에서 읽을 수 없습니다.**

나는 이 오류를 처리하려고 노력했으며 이를 해결하기 위해 찾은 유일한 방법은 일시적으로 다음 명령을 사용하는 것입니다.

> eval $("ssh-agent")

문제는 Gitlab에 push/pull할 때마다 이 명령을 사용해야 하는데, 이는 정상적이지 않습니다.

왜 이런 일이 발생하며 어떻게 해결할 수 있습니까?

추신: 저는 우분투 16.04.6을 사용하고 있습니다. 내 SSH 키를 Gitlab에 올바르게 추가했다고 확신합니다.

시간 내 줘서 고마워.

답변1

SSH 에이전트에 개인 키를 추가하지 않았을 수 있습니다. 그렇게 하려면 다음 명령을 사용하십시오.

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

관련 정보