🐰: 하..(하루종일 github한테 두들겨 맞은거 같다.)
내 개인 프로젝트를 완전히 다른 계정을 사용한
github 아이디로 사용하려다 보니 자꾸 회사 프로젝트와
겹치는 현상에 멘붕의 멘붕.. 몇번을 다시 연결을 한건지..
기다긴 싸움 후 너덜너덜 해진 뒤로
잊기 전에 메모를 하러 왔다..⭐️
인터넷 상에 올려놓은 공간 : 원격
내 컴퓨터에 저장해 놓은 공간 : 로컬
로컬 개발 환경에서 Git을 단독으로 사용한다면 SSH가 없어도 괜찮다.
하지만 여러개의 계정을 사용한다면,
안정성을 보존해야 하므로 외부 Git 서버에서 코드를 Clone하거나 Push 할때 SSH 프로토콜을 사용한다.
깃허브처럼 인터넷을 통해 원격에서 Git 저장소를 호스팅해주는 서비스에서도 SSH 프로토콜을 지원하고 있고,
원격 저장소와 통신할 때 일반적으로 사용하는 방법이다.
SSH란?
Git에서도 사용하지만, 원래는 멀리 떨어져 있지만 인터넷이나 네트워크를 통해 연결되어있는 컴퓨터에서 안전한 연결을 해주는 프로토콜로 안전한 쉘(Secure Shell)이라고 한다.
쉘을 통해서 명령어를 입력하고, 이 명령어를 내 컴퓨터가 아닌 네트워크로 다른 컴퓨터에 전달해주고 결과를 받아볼 수 있게 해주는 게 바로 SSH이다. 포인트는 바로 "안전(Secur)한 방식으로 통신한다" 이다.
SSH는 사용자, 패스워드나 여러가지 인증 방법을 지원한다.
그 중에서도 편리성이나 안정성 면에서 추천하는 방식이 공개키 인증 방식이다.
1. 터미널 or git bash 실행 후 명령어 입력
cd ~/.ssh
2. ssh 인증키 생성
ssh-keygen -t rsa -C "분리할계정Email@example.com" -f "계정ID"

- "계정ID"는 깃허브의 id를 따를 필요없음
- enter passphrase (empty for no passphrase):_ 에서 enter => 암호설정하라는 뜻인데 암호는 나중에 추가 가능
- 아래 화려한 이모티콘이 뜨면 키 생성 성공
[생성된 키 확인]
ls -al

.pub 확장자가 붙은 파일이 공개키고 붙지 않은 파일이 개인키이다.
3. ssh등록
ssh를 사용하여 로그인하거나 원격 서버에 연결할 때,
매번 암호를 입력하는 것은 불편하고 보안 문제도 있을 수 있다.
이러한 문제를 해결하기 위해 암호를 한번 입력하면,
해당 암호를 기억하고 다시 입력하지 않아도 되도록 에이젠트가 만들어준다.
ssh-agent를 실행하고 설정된 환경 변수를 이용하여 SSH 키를 추가하거나 제거할 수 있도록 준비하는 것이다.
eval "$(ssh-agent -s)"

4. ssh 키 추가
ssh-add ~/.ssh/"계정ID"

5. ssh 키 복사
cat ~/.ssh/nicee01.pub
명령어 입력 후 나오는 키 전체를 복사후 github 사이트로 이동
6. git hub 프로필 클릭 -> setting

7. 왼쪽 사이드바에서 열쇠 아이콘을 하고 있는 "SSH and GPG keys" 클릭 후 "New SSH key" 클릭

8. ssh키 연결

Title : 키에 대한 제목을 입력 ex) my personal key, work key => 본인만 알아볼 수 있으면 된다.
Key type : 이 두 가지 키는 목적이 다른데 위에서 rsa 알고리즘으로 ssh 키를 생성했기때문에 authentication key 를 설정해준다.
Key : 5번에서 복사한 키 붙여넣기
9. .ssh 폴더 안에 있는 config 파일작성(설정을 간편하게 유지하기 위함)
#개인용
Host github.com-"계정ID"
HostName github.com
User "깃허브 계정 주소"
IdentityFile ~/.ssh/"암호키 파일 이름"

10. ssh 키 연결 확인
ssh -T git@github.com-nicee01

Hi nicee-je! You've successfully authenticated, but GitHub does not provide shell access. 라고 나오면 권한은 깃허브에 성공적으로 등록되었지만 ssh 인증이 등록되지 않은 상태이다..
11. ssh 인증 등록
git remote set-url origin git@github.com:USERNAME/REPOSITORY.git
명령어를 입력해주고 push를 해보면 정상 작동할 수 있다!
'Git' 카테고리의 다른 글
[Git] git 명령어 모음 (0) | 2024.05.17 |
---|