[GIT] 서버 설정하기

sudo chsh git -s $(which git-shell) # git-shell 경로 입력

GIT 계정 생성

  • git 계정을 생성하고 해당 사용자의 홈 디렉토리에 .ssh 디렉토리를 만들고 권한을 설정합니다.
  • $ sudo adduser git
    $ su git
    $ cd ~
    $ mkdir .ssh && chmod 700 .ssh
    $ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

SSH 공개키 추가

  • git 계정을 이용할 사용자의 공개키를 authorized_keys 파일에 추가합니다.
  • $ cat /tmp/idrsa.pub >> ~/.ssh/authorized_keys

Bare 저장소 생성

  • 서버에 새로운 Bare 저장소를 생성합니다.
  • $ cd ~
    $ mkdir project.git
    $ cd project.git
    $ git init --bare

Git 사용자 셸 변경

  • git 사용자의 로그인 셸을 git-shell로 변경합니다. /etc/shells에 git-shell이 등록되어 있는지 확인하고, 등록되어 있지 않다면 추가합니다.
  • witch git-shell을 이용하여 실행파일의 절대경로를 추가해줍니다.
  • $ cd ~
    $ mkdir project.git
    $ cd project.git
    $ git init --bare

서버 설정 완료

  • git user들은 push 및 pull은 가능하지만 서버에 접근할 수 없습니다.
  • $ ssh git@gitserver
    # fatal: Interactive git shell is not enabled.
    # hint: ~/git-shell-commands should exist and have read and execute access.
    # Connection to gitserver closed.

'GIT > Git 서버' 카테고리의 다른 글

[GIT] 스마트 HTTP  (0) 2024.02.16
[GIT] Git 데몬  (0) 2024.02.14
[GIT] SSH 공개키 만들기  (0) 2024.02.13
[GIT] 서버에 Git 설치하기  (0) 2024.02.13
[GIT] 프로토콜  (0) 2024.02.13