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 |