본문 바로가기

git

SSH를 활용하여 github push하기

SSH (Secure Shell Protocol) 

: 네트워크 프로토콜 중 하나로 컴퓨터와 컴퓨터가 인터넷과 같은 Public Network를 통해 서로 통신을 할 때 보안적으로 안전하게 통신을 하기 위해 사용하는 프로토콜

 

 

깃허브 https로 접근할경우 push를 할때마다 로그인 인증절차를 거쳐야 된다면

          ssh로 접근할경우 로그인 인증절차 없이 바로 push 됨 

(ssh가 로그인 생략기능이 아님 / 컴퓨터간 비밀번호를 생성하여 컴퓨터로 하여금 인증을 거친다는 것)

 

 

 

1. 바탕화면에 아무폴더나 만들고 gitbash로 접속

/c/Users/이재용/.ssh/     로 접근하면 두개의 파일이 생성됨 

(id_rsa = private key    /    id_rsa.pub = public key)

 

 

 

2. 암호키 복사하기

 

cd ~/.ssh  (홈디렉토리 사용자 - .ssh 폴더로 접근)

 

ls -al  (해당 폴더안 전체내용 확인)

 

cat id_rsa.pub  (id_rsa.pub 내용 뽑아내기)

★ 현재 빨간밑줄때문에 안보이지만  cat id_rsa.pub 에서 id_rsa <-- 여기부분 언더바 입력해야됨 ★

 

ssh-rsa AAAAB3.........~~ 어쩌고 부분을 빈칸없이 깔끔하게 복사! (ctrl + c)

 

 

 

3. github에서 ssh 등록하기

 

3-1

1. 본인 Settings에 들어간후

2. SSH and GPG keys 클릭

3. New SSH key 클릭

 

3-2

Title : 본인이 원하는 내용 입력

Key : 방금 복사한 key 붙여넣기 (ctrl + v)

 

 

 

 

-- 여기까지 local에서 생성한 SSH키를 깃허브에 등록함으로써 SSH키로 로그인절차없이 접근가능하게 밑작업 끝 --

 

 

 

 

4. Test 해보기

 

본인 레포지토리 아무거나 선택해서

Code 클릭후 SSH 주소를 복사

 

 

5. SSH 주소로 pull 하기

1. git clone 복사한SSH주소

 

2. 위 주소로 연결하겠냐란 메세지 나오면 yes 입력후 엔터

 

 

 

6. 메모장 하나만들어서 테스트 해보기

 

 

1. cd Study-JAVA-Spring  (Study-JAVA-Spring 폴더로 이동하겠다)

 

2. 테스트 메모장 생성

 

3. git status  ( 추가되거나 변경된거 있나 ? )

 

4. git add . ( 추가 / 변경 모두 선택하겠다  (마우스로 드래그한다 생각하면됨))

 

5. git commit -m "내용"  ( 커밋 메세지 입력 )

 

6. git push  (clone 한 깃허브 레포지토리 주소로 push하기)

 

 

 

로그인 절차 없이 push됨

 

 

 

임시적으로 캐시를 생성하여 일정시간동안 로그인절차를 생략하려면 아래방법으로 (간단함)

monkeydvl.tistory.com/20

 

깃허브 Credential 을 활용하여 로그인절차 임시적으로 생략하기

21.03.10 현재 노트북에서는 gitbash로 push할경우 계정 확인을 하지않지만 데스크탑에선 push할때 계정 확인을 하라는창이 자꾸뜸 불편해서 알아보던중 현재까지 임시방법으로 괜찮아보여 포스팅 (

monkeydvl.tistory.com

 

 

 

 

다시 말하지만 SSH는 로그인 절차를 생략하는 기능이 아님!!

컴퓨터와 컴퓨터 간에 네트워크를 통해 현재 컴퓨터에 생성한 비밀번호key를 가지고 

해당 원격 저장소에 접근하여 인증생략을 하는거임

 

그외 SSH에 대해선 추후 더 알아보기로

 

 

아직도 궁금한건 여태껏 SSH사용 안하고도 로그인절차 생략됬었는데 갑자기 왜 로그인절차를 밟는지는 모르겠음

데스크탑에선 로그인 절차를 밟고 노트북에선 로그인없이 바로 https 통신으로 접근가능함

???