티스토리 뷰

이 글을 읽기 위해서는 공용서버에서 github, bitbucket 사용하기(1)을 읽어야한다.

GIT 사용자 정보 포워딩

공용장비에 로그인할 때 git 사용자 정보도 매번 설정하는 것도 귀찮을 때가 있다. 물론 자신의 계정이 있다면 .gitconfig에 설정하여 사용하게 된다. 그러나 공용계정을 사용하는 경우라면, 환경변수로 GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL 을 설정하여 사용해야한다. 환경변수 설정조차 공용 계정이므로 쉽지 않을 수 있다. 이 때는 이 두 변수를 PC에서 설정하고 ssh 접속할 때 전달 할 수 있도록 설정하면 된다.

서버에서는 받을 준비를 해야하므로 다음과 같이 설정한다. /etc/ssh/sshd_config 에서

AcceptEnv GIT_*

한 줄을 추가한다. (슈퍼 유저만 가능한 변경이다.) 환경변수 중 일부는 명령 실행에 중대한 영향을 미치므로 와일드카드(*)를 사용할 때는 주의해야한다.

클라이언트에서는 보내야하므로, 다음과 같이 설정한다. ~/.ssh/config 에서

Host *
    SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL

전편의 ssh-agent 설정 "ForwardAgent yes" 와 같이 쓴다면,

Host *
    ForwardAgent yes
    SendEnv GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL

정도로 하면 된다. 아! 물론 GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL은 지금 쉘에 설정되어 있는 것을 전송하고 받는 것이므로, 미리 사용하는 쉘의 로그인 프로파일 (.bash_profile이나 .zprofile에서) 설정 해둔다.

공용서버에서 ssh, git 사용

개인 PC의 설정을 이용하여 ssh-agent 의 public key를 포워딩하고, git 환경설정을 전송하면, ssh로 접속하여 들어가는 어떤 서버 에서도, 개발 설정을 크게하지 않아도 내 자격, 내 권한으로 소스를 다운로드/편집/전송이 가능하다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함