Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- MVVM
- swift documentation
- 스위프트
- Observable
- Protocol
- UITextView
- RxCocoa
- 애니메이션
- uiscrollview
- HIG
- SWIFT
- Xcode
- 리펙토링
- Refactoring
- UICollectionView
- uitableview
- 리팩토링
- collectionview
- 클린 코드
- 리펙터링
- tableView
- swiftUI
- Human interface guide
- clean architecture
- combine
- ribs
- map
- rxswift
- ios
- Clean Code
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[git] SSH키 생성 및 git 리모트 저장소에 SSH로 접속 본문
Git에 쓰이는 SSH
- git 리모트 저장소에 push할 경우 아무나 push되지 않고 사용자 인증이 필요
- git에 사용되는 사용자 인증 방법은 두 가지 존재 (HTTPS, SSH)
- 컴퓨터에 종속적이지 않고 key값만 알고있으면 복붙해서 사용할 수 있는 HTTPS사용 권장
- HTTPS는 username, password를 입력 후 접근
- git에서는 access token을 발급하여 username, password필요없게끔 할수있음 (gitlab -> settings -> 토큰발급 -> 복사 -> git remote정보에 입력)
SSH란
- Secure Shell Protocol: 네트워크 프로토콜 중 하나이며, 통신할 때 사용되는 규약
- 쓰임: 두 가지 (데이터 전송, 원격 제어)
- git 리모트에서는 데이터 전송을 위해 SSH사용
SSH원리
- 비밀번호의 입력을 통한 접속을 하지않음
- 비대칭 키 방식 - 한 쌍의 Key를 통해 인증 (Private Key, Public Key)
- public key로 암호화한 것은 private key로만 복호화 가능
- private key로 암호화한 것은 public key를 통해 복호화 가능
- 즉, git push할 때 private key가 존재하는 컴퓨터에서만 push하여, remote에서 public key로 해석
SSH 생성 방법
- terminal에서 ssh키 생성: 아래 명령어 입력 -> 암호를 입력하라고 나올 때, 특별한 암호 설정을 하지 않고 enter키를 해야 추후 세팅에 편함
- t: 생성할 key 타입
- b: 생성할 키의 bit 수
- C: 코멘트 (대문자여야 함)
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
- ssh파일 확인, 디폴트 경로: ~/.ssh
cd ~/.ssh
- id_rsa는 private key, id_rsa.pub는 public key를 의미
- 이 중에서 public key를 Github에 저장해야함 -> public key를 열어서 복사
// 아래 명령어 실행 후 나온 public key를 복사
$ cat id_rsa.pub
SSH-Agent사용: SSH 키 등록 중 비번을 입력한 경우
- SSH-Agent
- ssh를 사용하는 이유는 git push할 때 비번을 입력하지 않으려고 하는것, 하지만 ssh키에 비번을 설정 한 경우 매번 비번을 입력해야하는 번거로움이 생김
- SSH-Agent를 사용하면 비밀번호를 암호화하여 기억해 두고 private key를 입력함면 다음부터는 기억한 비밀번호를 이용
- socket을 생성하여 원격 서버와 통신하기 때문에 보안성에 좋음 - SSH-agent 백그라운드 실행
$ eval "$(ssh-agent -s)"
- private key를 SSH-Agent에 등록 (등록 과정 중 키 입력 필요)
$ ssh-add ~/.ssh/id_rsa
Git에 SSH 키 등록
- git 접속 -> 우측 Settings 메뉴
- 좌측 SSH Keys 메뉴
- 위에서 복사한 public key를 복붙 -> title 입력 -> Add Key버튼
- git 설정 - clone 시 ssh 주소로 복사
- remote등록 시, ssh주소로 설정
$ git remote add origin git@gitlab.com:user/repository.git
'Git, CocoaPods, Xcode, Shell' 카테고리의 다른 글
Comments