내 도메인에 자체 gitlab 설정이 있습니다. 나는 gitbash를 사용하여 내 Windows 데스크톱에서 행복하게 사용하고 있습니다. Gitlab 웹 프런트 엔드를 통해 저장소를 만든 다음 로컬 컴퓨터에서 코드베이스를 이렇게 푸시했습니다.
git remote add origin [email protected]:my_namespace/my_repo.git
이렇게 복제 할 수도 있습니다.
git clone [email protected]:my_namespace/my_repo.git my_repo
내 데스크탑에서 이들 중 하나를 수행하는 데 문제가 없습니다.
centOS 상자 (항상 그런 것은 아니지만 내 gitlab 도메인을 호스팅하는 동일한 항목)에서 동일한 작업을 시도하면 gitlab_user 암호를 입력하라는 메시지가 표시됩니다. 그 후, 동일한 복제 명령이 my_namespace / my_repo.git이 git 저장소로 보이지 않는다고 알려줍니다. 내 Windows 컴퓨터에서 액세스하는 데 문제가 없기 때문이라는 것을 알고 있습니다.
다른 곳에서 연결할 때 리포지토리로 표시되지 않는 이유와 암호를 묻는 이유는 무엇입니까?
결론적으로 gitlab의 사용자 계정에 .ssh 공개 키를 추가하지 않았기 때문입니다. 이 문제를 해결하는 단계는 다음과 같습니다.
ssh-keygen -t rsa -C "[email protected]"
-(-C 부분은 내가 잊어 버린 경우 누구의 열쇠인지 알아내는 데 도움이되는 주석입니다.)cat ~/.ssh/id_rsa.pub
이제 원래 명령을 사용하여 복제 할 수 있습니다.
git clone [email protected]:my_namespace/my_repo.git my_repo
난 항상 것 처음 사용자로 내 gitlab 서버에 연결 gitlab_user . 그러나 도착하면 gitlab은 내 공개 키를 데이터베이스에있는 계정 중 하나에 대해 저장된 것과 일치시켜 내가 주장하는 사용자 계정을 식별합니다. 그렇기 때문에 동일한 .ssh 키를 둘 이상의 gitlab 계정에 연결할 수 없습니다. gitlab은 사용자가 연결되었을 때 누구인지 알 수 없습니다.
그러나 단일 계정에 둘 이상의 (다른) 키를 넣을 수 있습니다. 예를 들어 집과 사무실에서 저장소에 액세스 할 수 있어야하지만 매번 동일한 gitlab 사용자로 식별되어야합니다. 나는 집에서 .ssh 키로 생성하고 그것을 내 gitlab 계정에 추가하고 직장에서도 똑같이함으로써 이것을한다. 저를 동일한 gitlab 사용자로 식별하는 두 개의 다른 키.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다