거인의 어깨위에 서려는/서버 개발자를 위한
호스팅 서버에 ssh 로 git 연동하기
Jane Park
2020. 11. 16. 22:15
호스팅 서버에 ssh 방식으로 git 연동하기
Ubuntu14.04 LTS 호스팅 서버를 쓰고 있었는데, 본래 https로 시작되는 git URL로 연결을 요청하다 어느날 서버를 업데이트하려고 git pull
을 하니 gnutls_handshake() failed: Handshake failed
과 같은 에러가 떴다.
찾아보니 해당 서버에서 발생하는 문제중 하나이며 빠른 해결방법은 https 방식이 아니라 ssh 방식으로 git 연동을 하는 것이라고 한다.
ssh 연동 방법
- 해당 서버에 ssh 키를 생성한다.
- id_rsa.pub 파일에 생성된 public key를 Bitbucket, Github, Gitlab 같이 레파지토리 저장소에 추가한다.
각 플랫폼의 ssh 설정 페이지
Bitbucket - https://bitbucket.org/account/settings/ssh-keys/
Github - https://github.com/settings/ssh/new
Gitlab - https://gitlab.com/profile/keys
- 서버가 각 플랫폼에서 인증이 되는지 확인해본다.
// Bitbucket
ssh -T git@bigbucket.org
// Github
ssh -T git@github.com
// Gitlab
ssh -T git@gitlab.com
- 정상동작하면 기존 레파지토리 폴더로 가서 .git/config를 vi나 vim 에디터로 연다.
- remote origin URL (https로 시작되는)을 다음과 같이 수정한다.
// Bitbucket
git@bitbucket.org:<username>/<repo>.git
// Github
git@github.org:<username>/<repo>.git
// Gitlab
git@gitlab.org:<username>/<repo>.git
- 다시
git pull
을 요청하면 ssh 인증을 통해 곧바로 레파지토리를 업데이트한다.