github 원격 저장소 서비스에 접근할 때 https or ssh 통신 방식을 사용할 수 있다.
# https vs ssh 방식 비교 |
https: git config 명령을 통해 설정을 하면 username/password 입력이 필요 없음 ssh: ssh public key를 등록하면 username/password를 입력이 필요 없음 프로토콜만 다르고, https를 사용하든 ssh를 사용하든 설정을 통해 username/password를 입력이 필요 없음 |
아래의 내용은 Ubuntu 16.04에서 테스트하였습니다.
# SSH: ssh public key를 등록하여 username/password 입력 불필요
1. openssh-client 설치
$ apt install openssh-client |
2. ssh-keygen 명령으로 ssh key 생성
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:iItJV3L82xTJ7S7r75aplyJsSpfps8WfW/bUqptkXnE root@dockerdev The key's randomart image is: +---[RSA 2048]----+ | | | . . o | | . + + . | | = o o | | . o . S . . . E| | . + . B . o.| | o . ..= = +++ o| | . o=..B** + | | .oo=+B@+. .| +----[SHA256]-----+ |
3. 생성된 ssh public key 확인
$ cat ~/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrj5J/47eqRPe2Li3U++mwduwZTMAfH7Xc6mzYWZCdv+ptmIKWbkEaDwzXMDtt2NEDhUVEksOTbBPOmSZHz5R7leVMHynyW+nfs4mEtoKdA4R/SvuyHEdvqr1jbSh4dWwiF66hu4FB2Hh5VLJP1g1rQzIQrckPnPxDj+qFCD8M2/RZ7gZED8F9euXz1gzVU1CQqkPqRBbWuM25uxrynmVKGaLKsjK1CYsGtNwsK1NVspDhYK3wLtoBWP+Gp0llKCeNoXnhglu1c2ZLIdsSvnBBjmJT0OiJNLR/nS+qFKA6Bq/Sagy98hkWmRdXlKEn6A2+hopwRf74rhGL9M0/n5/L root@dockerdev |
4. github에 ssh public key 등록
github에 접속하여 개발 장비의 ssh public key를 등록하는 과정이다.
화살표 따라서 진행하다가 ssh-keygen으로 생성된 ssh public key를 등록하면 된다.
★그림 추가
★그림 추가
5. ssh로 접근하는 경우 (username, password 필요 없음)
$ git remote remove origin $ git remote add origin git@github.com:jhhwang4195/ssh_access.git $ git remote -v $ echo "2" > f2.txt $ git add f2.txt $ git commit -m "add f2.txt file" $ git push -u origin master Counting objects: 3, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 268 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:jhhwang4195/ssh_access.git 939ee1d..11c95f1 master -> master Branch master set up to track remote branch master from origin. |
# HTTPS: git config 명령을 통해 username/password 입력 불필요
1. https로 접근하는 경우 (username, password 입력해야함)
$ git init $ echo "1" > f1.txt $ git add f1.txt $ git commit -m "first commit" $ git remote add origin https://github.com/jhhwang4195/ssh_access.git $ git push -u origin master Username for 'https://github.com': jhhwang4195 Password for 'https://jhhwang4195@github.com': Counting objects: 3, done. Writing objects: 100% (3/3), 205 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To https://github.com/jhhwang4195/ssh_access.git * [new branch] master -> master Branch master set up to track remote branch master from origin. |
2. git config 명령으로 username/password 입력하지 않고 push/pull 수행하기
$ git config --global credential.helper store $ .... 작업 .... $ git push // user name/password 입력 필요 $ .... 작업 .... $ git push // user name/password 입력 불필요 |
※ 참고 사이트 ※
https://opentutorials.org/module/2676/15433
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
저는 IT 기술에 대해 관심이 많고, 기술적인 토론하는 것을 매우 좋아합니다^^ github following 해주시면 정말로 감사하겠습니다^^ github: https://github.com/jhhwang4195 어떠한 댓글이든 환영합니다^^ 댓글 좀 달아주세요^^ (구걸 모드) |
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
이 글이 도움이 되셨다면 아래에 있는 "♡공감" 버튼을 클릭해주세요
'버전 관리 > git' 카테고리의 다른 글
[TIP] git branch graph (git log extension) (0) | 2017.12.19 |
---|---|
[TIP] How do I show the git branch with colours in Bash prompt? (0) | 2017.12.19 |
[TIP] git merge 정리 (vimdiff 사용) (0) | 2017.12.18 |
[TIP] 리눅스 서버에 git 서버 구축하기 (0) | 2017.12.18 |
[TIP] git의 첫번째 커밋 확인 (0) | 2017.12.18 |