목차
1. Git 설치
2. 저장소 생성
3. 계정 생성
4. git 서버로 키 등록
5. 테스트
1. Git 설치
yum install git
root 계정으로 로그인한 후, yum install git을 입력하면 설치가 시작된다.
중간중간 Is this ok [y/d/N]: 에서, y를 입력하면 된다.
[root@centaosserver ~]# git --version
git version 1.8.3.1
설치 후, git --version을 입력해, 버전이 제대로 나온다면 설치가 정상적으로 완료된 것이다.
2. 저장소 생성
root@centosserver:~# mkdir -p /opt/git/project.git
root@centosserver:~# git init --bare /opt/git/project.git/
Initialized empty Git repository in /opt/git/project.git/
git 디렉토리를 생성하고, 해당 디렉토리를 git 환경으로 초기화하는 작업이다.
3. 계정 생성
root@centosserver:~# useradd git -m -s /bin/bash
root@centosserver:~# echo 'git:비밀번호' | chpasswd
root@centosserver:~# cat /etc/passwd | grep git
git:x:1000:1000::/home/git:/bin/bash
root@centosserver:~# chown -R git:git /opt/git/
git 계정을 생성하고, 비밀번호를 변경한다. 비밀번호 자리에 원하는 비밀번호를 입력하면 된다.
이후, /opt/git/ 디렉토리의 소유자를 git으로 변경한다.
4. git 서버로 키 등록
만약 git bash가 설치되어 있지 않다면, 위 링크에서 git bash를 설치한다.
ekdms@DESKTOP-A82QE47 MINGW64 ~
$ cd ~/.ssh/
git bash를 실행하고, ssh 디렉토리로 이동한다.
ekdms@DESKTOP-A82QE47 MINGW64 ~/.ssh
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/ekdms/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/ekdms/.ssh/id_rsa.
Your public key has been saved in /c/Users/ekdms/.ssh/id_rsa.pub.
The key fingerprint is:
ed:6b:78:50:2d:69:0b:0d:19:f4:bf:97:ae:a3:bb:30 serveradmin@centosserver
The key's randomart image is:
+--[ RSA 2048]----+
| .oo |
| o. |
| o.o |
| ..*.. |
| S+.o. |
| ... . . |
| Eo. . o |
| .oo..o |
| o=+.o. |
+-----------------+
ssh-keygen을 입력해 키를 생성한다. 중간중간마다 엔터 입력하면 된다.
ekdms@DESKTOP-A82QE47 MINGW64 ~/.ssh
$ ls
id_rsa id_rsa.pub
.ssh 폴더로 이동 후, ls 명령어를 사용해 키가 제대로 생성되었는지 확인한다.
ekdms@DESKTOP-A82QE47 MINGW64 ~/.ssh
$ pwd
/c/Users/ekdms/.ssh
pwd 명령어를 이용해 .ssh의 경로를 알아 둔다.
Downloading WinSCP-5.19.4-Setup.exe :: WinSCP
서버에 키를 등록하기 위해, 위 링크에서 파일을 관리할 수 있는 WinSCP를 다운받는다.
다운받은 후, 호스트 이름에 가상머신의 IP 주소를 입력하고, root로 로그인하면 된다.
윈도우에서 만들어둔 key의 경로를 찾아 centos의 /home/git/.ssh/로 이동시킨다.
만약 파일이 보이지 않는다면 옵션 > 설정 > 패널 > 숨김 파일 표시를 체크한다.
root@centosserver .ssh:~# cat id_rsa.pub >> authorized_keys
root@centosserver .ssh:~# ls
authorized_keys id_rsa id_rsa.pub
이후, 가상머신으로 돌아와 다음과 같이 입력한다. 클라이언트의 public key를 authorized_keys 파일에 append한다.
5. 테스트
원하는 위치에 디렉토리를 미리 생성해두고, git bash에서 그 경로로 이동한다.
이후 git clone ssh://git@IP주소:/opt/git/project.git 을 입력해 프로젝트를 clone한다.
이후 해당 디렉토리에 접근하면, 파일들이 저장된 것을 확인할 수 있다.
+ 원격 저장소에 파일 올리기
project 디렉토리에 test.txt 파일을 생성하고, git bash에서 cd project를 입력해 위치를 이동한다.
이후, 다음과 같이 명령어를 입력하고 문제가 없다면 원격 저장소에 파일이 잘 올라간 것이다.
참고
리눅스 Git 서버 구축 (SSH 프로토콜) - 제타위키 (zetawiki.com)
[Linux] CentOS 7 Git Server 구축하기 (tistory.com)
'Infra > CentOS' 카테고리의 다른 글
[CentOS] CentOS7에 Gradle 설치하기 (0) | 2021.11.12 |
---|---|
[CentOS] ifconfig 오류 - 존재하지 않을 때 해결법 (1) | 2021.11.08 |
[CentOS] SSH Root 로그인 막기 (0) | 2021.11.08 |
[CentOS] Linux 환경에서 그룹 생성, 사용자 생성 (0) | 2021.11.08 |