SSH는(Secure Shell)는 네트워크를 통해 통신을 할 때, 정보를 안전하게 교환하기 위해 사용하는 응용 프로그램 혹은 그 프로토콜을 의미한다.
SSH키는 Public Key와 Private Key로 구성되고 아이디:비밀번호 와 같이 한 쌍으로 이루어져 접속하려는 컴퓨터와 Key를 통해 검증한다.
💡 로컬에서 생성한 public키를 깃 서버에 등록하면, 사용자의 개인 키를 통해 SSH에 접속을 시도하고 SSH 서버에서는 서버에 등록된 공개키와 일치하는 개인 키를 찾는다. 즉, 사용자가 원격 저장소에 접근할 때마다 로컬의 개인 키와 개인 키와 한 쌍인 서버의 공개키를 확인해서 일치하는 키가 있으면 서버에 접속하는 방식이다.ssh-keygen -t rsa -b 4096 -C yourEmail@gmail.com
[옵션]
선택이기 때문에 ‘ssh-keygen’ 명령어만 입력해도 키가 생성된다.
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\mine/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
ssh-keygen을 실행 시키면, 파일 위치를 입력(Enter file in which to save the key)하라는 문구가 나온다.
이때, 바로 Enter로 넘어가도 무방하며 저장하고 싶은 파일 경로를 써주면 된다.
그럼 비밀번호를 입력하라(Enter passphrase (empty for no passphrase):)고 나오는데, 이것도 패스하거나 비밀번호를 입력해준다.
한번 더 입력하라(Enter same passphrase again:)고 나올 때 입력하거나 넘어가면 된다.
정상적으로 생성되었을 때 아래와 같은 문구가 뜨고 해당 key에 접근할 수 있다.
Your identification has been saved in C:\Users\mine/.ssh/id_ed25519.
Your public key has been saved in C:\Users\mine/.ssh/id_ed25519.pub.
경로를 따라 들어 가보자. ** 공개키와 개인 키가 한 쌍으로 각각 발급 되었는지 확인해야 한다.
type id_rsa.pub
공개키 내용을 type(윈도우 기준/mac은 cat)으로 읽어 복사하고
Github page → Settings → SSH keys → [New SSH key]버튼 → Key 에 붙여넣기 → Add SSH key
ssh -T git@github.com
C:\Users\mine>ssh -T git@github.com
Hi Yang! You've successfully authenticated, but GitHub does not provide shell access.
명령어 입력 후, ssh키가 잘 연동되었는지 테스트하고 위와 같이 메시지가 뜨면 성공!
레포지토리가 없다면 새 repository를 생성하고, 있으면 레포지토리의 SSH 주소를 Clone한 뒤,
VSCode 터미널창에 다음 명령어 입력 git remote add origin 주소
VSCode와 SSH주소를 연동하고 연결 정보를 확인한다.
방법1) git remote --v :VSCode 터미널에서 확인
PS C:\Projects\hive-practice> git remote --v
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
origin git@github.com:Violet-Yang/practive-vue.git (fetch)
origin git@github.com:Violet-Yang/practive-vue.git (push)
방법2) ssh -T git@github.com :git 레파지토리 폴더 cmd창으로 확인
C:\Users\mine>ssh -T git@github.com
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Hi Violet-Yang! You've successfully authenticated, but GitHub does not provide shell access.