2017-12-01 12 views
0

변경 사항을 저장소로 가져 오려고합니다. repo의 원점은 원래 다른 자식 서버에 있었으므로 이제 원점이 다른 서버로 이동했습니다.다른 SSH 키를 사용하여 자식을 당깁니다.

# in /root/.ssh/config 
Host gitlab-app 
    HostName git.ist 
    User git 
    IdentityFile /root/.ssh/id_rsa_app 
    IdentitiesOnly yes 

과의 repo를 복제하기 위해이 같은 명령을 사용할 수 있습니다 새 서버에 우리는 우리가 응용 프로그램 사용자 개인 키 등과 같은 설정 파일을 추가 한 다른 컴퓨터에서 '응용 프로그램'이라는 일반적인 사용자를 가지고 :

git clone gitlab-app:software-development/my_repo.git 

어떤 작품. 문제는 특정 서버에서 Repo에 대해 이야기하는 것이 이전 위치에서 이미 복제 된 것입니다. repo의 원격 URL을 새 위치로 변경했지만 ssh를 가져 오려고 할 때 비밀번호를 묻습니다. gitlab 호스트에는이 서버의 키가 없기 때문에 추측합니다. 그러므로 일반적인 'app'사용자.

제 질문은 루트 사용자로 풀 명령을 실행할 때 내 ssh에 app 사용자 키를 사용하도록 내 repo를 구성하는 방법입니다.

는 다른 스레드에서 나는이 보았다

git config core.sshCommand 'ssh -i ~/.ssh/id_rsa_app -F /dev/null' 

을하지만 나를 위해 아무런 영향을 미치지 않습니다.

답변

0

좋아, 그래서 그것은 간단한 해결책이었다. 서버에서 원격 URL을 변경했을 때 gitlab 페이지에서 표준 URL을 복사하여 붙여 넣었습니다. 내가로 변경하기 위해 필요한 것은이었다

[email protected]:software-development/my_repo.git 

에서 자식 config 파일이 실제로 사용되는 그래서

gitlab-app:software-development/my_repo.git 

에. 복제 링크처럼. 그래서 기본적으로

:

git remote set-url origin gitlab-app:software-development/my_repo.git