광고
광고

GitHub 아이디 패스워드 입력 없이 사용하는 방법

본문 바로가기 모바일 SW 개발자가 운영하는 블로그 검색내용을 입력하세요. 검색블로그 이미지 홈 개발환경 Android REST API Python 모바일 마케팅 블로그 관리 방명록 개발환경/git GitHub 아이디/패스워드 입력 없이 사용하는 방법 by 모바일 SW 개발자 Kibua20 2020. 7. 15. GitHub를 사용해서 회사 내에서 다수 인원이 참여하는 SW를 개발하는 경우 Git repository를 제한된 인원에게만 공개하도록 Private으로 설정해야 합니다. Private 설정된 GitHub Repository는 git pull / push 명령어를 사용할 때 마다 ID와 Password를 입력해야 하는 불편함 있습니다. 본 포스팅은 ID와 Password 입력 없이 Git Hub에 로그인 할 수 있는 방법을 정리하였습니다. 참고로, GitHub에 Project 용 Repository를 만들고 멤버 추가하는 내용은 아래 동영상을 확인해주세요. 출처: 생활 코딩 (https://www.youtube.com/watch?v=9TCvmaG0gq8) 1. GitHub에 Private Repository 생성 GitHub에서 Repository를 생성할 때 Public과 Private으로 설정할 수 있으며 Private Git을 만든 다음 Project 인원을 추가할 수 있습니다. GitHub Web 상에서 GUI로 지원되기 때문에 Private Repository는 아래와 같이 쉽게 만들 수 있습니다. Private Repository 생성 2. Git 주소 확인하기 (https 와 ssh 연결 확인) GitHub에서 https 와 ssh 프로토콜을 2개를 모두 지원합니다. git URL 도 다른 방식으로 저장되고, URL이 ssh 또는 http에 따라서 ID와 Password 인증 방식이 다르기 때문에 각각 맞는 방법으로 설정해야 합니다. Git Hub에서 기본 설정은 https URL 사용하고 있으며 ssh URL로 변환할 수 있습니다. Git clone 시 SSH URL로 만든 경우라면 Public key를 GitHub 사이트에 등록해야 사용할 수 있습니다. 하지만, 회사 방화벽에서 ssh 연결을 막아 놓은 상태라면 https 연결을 사용해야 합니다. 이 경우 ID에 맞는 ACCESS Token을 할당받아서 git clone 시 URL에 설정하거나, 또는 git crendential cache를 활용할 수 있습니다. Git URL 확인 방법 (https 와 ssh 주소 확인) 2.1. Git을 https URL로 만든 경우 Git URL은 https://github.com/[소유자 ID]/[Git Repository 이름].git 이며 git clone [URL] 을 실행하면 ID와 password를 입력을 해야 git 복사가 진행됩니다. URL: https://github.com/kibua20/PrivateTest.git HTTP 로 연결 시 ID와 Password 입력 2.2. Git을 SSH URL로 만든 경우 - SSH Public key를 Git Hub에 등록 Git URL은 git@github.com:[소유자 ID]/[Git Repository 이름].git 이며, Public key 등록 안된 상태에서 git clone 하면 "올바른 접근 권한이 있는지, 그리고, 저장소가 있는지 확인하십시오'라는 에러 문구가 나옵니다. URL: git@github.com:kibua20/PrivateTest.git SSH 로 연결 시 Git 권한 없음 에러 발생 접근 권한을 등록하기 위해서는 ssh public key 생성하고 Git Hub 사이트에 등록을 해야 합니다. Key 생성은 ssh-keygen을 명령어를 사용하고 Public Key 값 (id_rsa.pub)의 내용을 복사해서 Git Hub의 Respository 1) Setting Menu, 2) Deploy keys, 3) Key, 4) Add Key를 추가합니다. 특정 Repository 에만 권한을 추가하는 경우 'Deploy Key'에 추가하고, 계정 전체에 권한을 부여하는 경우 '프로필> 세팅 메뉴'에 Public key를 추가합니다. $ ssh-keygen $ cat ~/.ssh/id_rsa.pub 특정 repository만 SSH Key 등록 계정 전체의 repository만 SSH Key 등록 2.3. git URL 확인 방법 및 https와 ssh 전환 SSH Public Key 등록한 다음에도 Git clone 시 ID/Password 인증을 요구하는 경우에는 git이 SSH로 생성된 것이 아니고, http로 생성된 경우입니다. 이 경우 현재 git의 URL을 $ git remote -v로 확인하고 SSH URL로 전환시켜줘야 합니다. (Https로 만든 경우) $ git remote -v origin https://github.com/kibua20/PrivateTest.git (fetch) origin https://github.com/kibua20/PrivateTest.git (push) (SSH로 만든 경우) $ git remote -v origin git@github.com:kibua20/PrivateTest.git (fetch) origin git@github.com:kibua20/PrivateTest.git (push) (Https에서 ssh URL로 전환) $ git remote set-url origin git@github.com:kibua20/PrivateTest.git (ssh에서 https URL로 전환) $ git remote set-url origin https://github.com/kibua20/PrivateTest.git 2.4. SSH Key 여러 개 등록 (Repository 별 SSH Key 등록) Repository 별로 ssh key 값을 여러 개 등록하는 경우 ssh key alias를 활용할 수 있습니다. .ssh/config 파일을 만들어서 Repository 별로 SSH Key을 각각 등록할 수 있습니다. $ vi ~/.ssh/config Host project1.github.com Hostname github.com IdentityFile ~/.ssh/id_rsa.project#1 Host project2.github.com Hostname github.com IdentityFile ~/.ssh/id_rsa.project#2 3. http URL의 Git 만 사용해야 하는 경우 (ssh 연결이 불가한 경우) Git을 ssh URL로 설정하고 SSH Key 값을 등록하면 가장 간단하게 인증을 받을 수 있습니다. 하지만 간혹 회사 방화벽 정책 때문에 SSH 연결이 막아 놓은 경우 있으며 이 경우 https 만 사용해야 합니다. 3.1. ACCESS TOKEN을 활용 (출처) git clone 시 http URL에 ID와 Password 추가해서 git을 복사합니다. Password가 cache에 저장되어 노출되는 문제가 점이 있으며, 특히 공용 서버에서 Git을 사용하는 경우 보안 상 문제가 됩니다. GitHub는 Password 대신 ACCESS TOKEN을 받아서 인증을 받을 수 있으며, 해당 ACCESS Token에는 용도에 맞는 권한만 추가 가능합니다. 특히, Git Hub에서 2FA (Two Factor Authentication)를 설정한 경우에는 반드시 ACCESS TOKEN을 사용해야 합니다. $ git clone https://[ID]:[PASSWORD or Access Token]@github.com/[ID]/myrepo.git $ git clone https://kibua20:1234@github.com/kibua20/PrivateTest.git (ID: kibua20, Password:1234 Repository: PrivateTest) ACCESS Token 받는 방법은Git Hub Manual에 설명되어 있고, 요약하면 아래와 같습니다. 1) 사용자 프로필 선택 후 2) 세팅 메뉴 선택 3) Developer Menu 선택 4) Generate Access Token 선택 5) Token에 대한 권한 선택 - 필요 권한만 추가 Personal ACCESS TOKEN 생성 Personal ACCESS TOKEN 생성 3.2. git credential의 cache timeout 활용 (출처 , git ebook) git credential의 help를 설정하고 timeout 값을 아주 길게 잡아서 패스워드를 한 번만 입력할 수 있습니다. 일정 시간이 지나서 timout 되면 다시 ID와 패스워드를 입력해야 하는 불편함이 있지만 jekins 서버처럼 주기적으로 git command를 사용하는 경우 유효 시간이 갱신되기 때문에 사용 가능합니다 $ git config credential.helper store $ git config --global credential.helper 'cache --timeout 7200' 관련 글 [개발환경] - 우분투 작업 스케줄러 Crontab 사용법, 디버깅, 주의 사항 [모바일/Python] - Python: 폴더 백업 기능 구현 (7zip 압축, Sample code) [개발환경] - Ubuntu 에서 SW 개발 Tool 설치 [개발환경] - git 사용하기 #1 (부제: GitHub) [개발환경] - Git 사용하기#2 (bat, git-fuzzy, git-delta) [모바일/Android] - repo 실행 시 DeprecationWarning: imp module 대처법 [모바일/Android] - Repo 에러: repo sync unable to read sha1 file of xxx, cannot initialize work tree [모바일/Android] - [실패 사례] WSL(Windows Subsystem for Linux) 에서 Android 빌드하기 [개발환경] - 윈도우용 MobaXterm - SSH 및 X-Server 지원 [모바일/Android] - Android 10 (Q-OS) 소스 다운로드 좋아요3 공유하기글 요소구독하기 저작자표시 댓글8 Favicon of https://calm-present.tistory.com Henry.C 2020.07.15 15:43 신고더보기 유익한 정보 감사합니다. 오늘도 잘 배우고 갑니다~^^ 답글 Favicon of https://kibua20.tistory.com BlogIcon 모바일 SW 개발자 Kibua20 2020.07.15 15:44 신고더보기 ^^ Favicon of https://not2soonjulie.tistory.com BlogIcon 쥴리KIM 2020.07.16 12:45 신고더보기 Git 아주 잠깐 하루정도 공부하고 한번만 써봤는데 뭔가 이해가다가도 복잡하드라구요 ㅠㅠ 답글 Favicon of https://kibua20.tistory.com BlogIcon 모바일 SW 개발자 Kibua20 2020.07.16 12:52 신고더보기 git 처음에 gui가 없으니, 이해가 힘들지만 일단 개념을 이해하면 git command 몇 개만 알면 되니 쉽게 쓰죠.. git 처음 접하시면 아래 포스팅이 내용이 맞을 것 이고, gitHub 쓰시면 본 포스팅이 설정에 도움이 될 것입니다. https://kibua20.tistory.com/16 Favicon of https://not2soonjulie.tistory.com BlogIcon 쥴리KIM 2020.07.16 12:53 신고더보기 감사해요! ㅎㅎ 다시 코딩 공부를 해야겠어요 ㅎㅎ 답글 Favicon of https://kibua20.tistory.com BlogIcon 모바일 SW 개발자 Kibua20 2020.07.16 13:04 신고더보기 ㅋㅋ.. 저도 요즘 팝송..아니 커버곡 듣고 있어요. J Fla 듣고 있어요. 혹시 spotify 쓰세요? Favicon of https://not2soonjulie.tistory.com BlogIcon 쥴리KIM 2020.07.16 16:08 신고더보기 미국에선 spotify 사용했었는데 그냥 한국 와서는 유튜브 음악 추가 해서 재생목록 듣고 잇어요 ㅎㅎ j fla 인기는 진짜 대단하죠ㅠㅠ 답글 Favicon of https://kibua20.tistory.com BlogIcon 모바일 SW 개발자 Kibua20 2020.07.16 16:17 신고더보기 ^^ 비밀글 여러분의 소중한 댓글을 입력해주세요. 등록 이전 1 ··· 76 77 78 79 80 81 82 83 84 ··· 151 다음 분류 전체보기 (151) N 개발환경 (73) N 우분투 (24) 윈도우와 WSL (12) git (3) Google Cloud Platform (8) Oracle Cloud (5) Web Server (9) Tips (12) N 모바일 SW 개발 (60) N Android (21) N REST API (13) Python (26) 블로그 관리 (18) 모바일 마케팅 (7) 티스토리 블로그 관리 (11) 최근글인기글 Spotify 한국에서 사용하⋯ 2021.02.02 네이버 동영상 다운로드⋯ 2021.02.01 Android 스마폰을 PC 화면⋯ 2021.02.01 Python으로 개발된 Androi⋯ 2021.01.27 안드로이드 adb 설치 및⋯ 2021.01.25 Python 2.x에서 3.x으로⋯ 2021.01.16 Python으로 압축 파일 다⋯ 2021.01.14 Android apk Decompile 과⋯ 2021.01.14 최근댓글 vpn미국으로 하고 프리미엄⋯ 기존에 미국계정으로 스포티⋯ 저도 착각을 했네요. scrcp⋯ 안녕하세요. 이글보고 미러링⋯ 전체 방문자 259,487 Today : 975 Yesterday : 2,071 태그 rest api Android R-OS WSL 2.0 네이버 서치 어드바이저 ElementTree 7za Python Ubuntu 20.04 termux Git apk gmail api FLASK Windows 10 GCP OAutho2.0 repo sync mobaXterm cygwin Strava lighttpd Web Server OCP tomcat9 JWT apache2 Android 11 Gmail Android ngrok kibua20@gmail.com TOP 관리메뉴열기모바일 SW 개발자가 운영하는 블로그 구독하기 출처: https://kibua20.tistory.com/88 [모바일 SW 개발자가 운영하는 블로그]

마인크래프트 윈도우10 에디션 무료 다운로드 ⋯
GitHub 아이디 패스워드 입력 없이 사용하⋯
REST API 개념 잡기
리눅스 시스템 정보 확인 방법
Android Studio 4.0 사용하기