우분투 깃 설치부터 진행해보겠다.
우선 우분투에선 터미널로 명령어를 치면 간단하게 설치된다!
$ sudo apt-get install git
설치 확인!
$ git --version
최초 설정을 진행하자
$ git config --global user.name "유저네임"
$ git config --global user.email 이메일@example.com
git 사용방법으로는 3가지가 있는데
1. 토큰
2. SSH
3. GPG
이번엔 ssh연결 방식으로 변경해서 git을 사용해보고자 한다.
깃 공식문서를 참고하였다.
https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/about-ssh
우선 터미널에서 ssh폴더를 들어가서 ls로 ssh키가 있는지 확인해보자
$ cd ~/.ssh
$ ls
아직 키가 없다면 지금처럼 깨끗하게 보이며 키를 생성해보자
ssh-keygen -t ed25519 -C "이메일@email.com"
위의 명령어에서 이메일만 바꿔서 붙여넣어서 생성하면 키를 저장할 위치를 묻는다
엔터를 누르면 기본위치에 저장된다.(본인은 그냥 기본위치에 저장했다.)
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/han/.ssh/id_ed25519):
그리고 추가적으로 비밀번호를 생성할꺼냐 묻는데 Git허브문서에선 생성하기를 추천했다.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
그 이후엔 개인키와 공개키가 생성된고 ls로 폴더를 확인해보면
개인키와 공개키(.pub파일) 두개의 키가 만들어진걸 확인할 수 있다.
han@han-X510UQR:~/.ssh$ ls
id_ed25519 id_ed25519.pub
이제 깃허브의 메뉴얼 대로 ssh-agent에 등록해보자
$ eval "$(ssh-agent -s)"
>Agent pid 26078
$ ssh-add ~/.ssh/id_ed25519
Enter passphrase for /home/han/.ssh/id_ed25519:
Identity added: /home/han/.ssh/id_ed25519 (wjdgksals56@gmail.com)
이후엔 ssh 공개키를 확인하고 복사하자
cat ~/.ssh/id_ed25519.pub
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICy9cMfR/I95V3DWZYS/ubDgh1t3PExxx2D5HT/3OECm wjdgksals56@gmail.com
이젠 github 홈페이지에 들어가 프로필 - Settings- SSH and GPG keys로 들어가 ssh키를 등록하면 된다
# 참고로 ssh키는 바꾼상태입니다.
공개키가 등록된걸 확인했으면 다음은 테스트 해보자
$ ssh -T git@github.com
The authenticity of host 'github.com (20.200.245.247)' can't be established.
ED25519 key fingerprint is SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])?
요렇게 공개키가 나오면서 너꺼 맞냐하면? yes한다
그러면 이렇게 호스트 등록이 되면서 유저 네임이 나오면서 등록된다.
Warning: Permanently added 'github.com' (ED25519) to the list of known hosts.
Hi hanminJ! You've successfully authenticated, but GitHub does not provide shell access.
테스트 완료다
다음은 사용법이다.
실험적으로 gittest 레포지토리를 만들어서 사용해보자
$ git init gittest
$ cd gittest
$ git remote add origin 주소
$ git remote -v
origin git@github.com:hanminJ/gittest.git (fetch)
origin git@github.com:hanminJ/gittest.git (push)
연결이 완료되었다!