2021. 8. 26. 15:33ㆍSetting
많은 Git 서버들은 SSH 공개키로 인증을 합니다. 또한 Github 연결시마다 계정정보를 입력해야 하는 번거로움을 제거해 준다. 이번에 입사한 회사에서도 서버에서 SSH를 사용해서 인증하는 시스템을 가지고 있어서 이 기회에 세팅을하면서 적용방법을 정리해 보았다.
SSH 공개키 생성
일단 공개키를 사용하려면 공개키를 만들어야 한다. 그 전에 공개키가 있는지 확인이 필요하다. 기본적으로 사용자의 SSH키들은 사용자의 ~/.ssh 디텍토리에 저장한다. 디텍토리의 파일을 살펴서 공개키가 있는지 확인 할 수 있다.
cd ~/.ssh
ls
보통 id_dsa나 id_rsa라고 되어 있다. 그 중 .pub 파일이 공개키이고 다른 파일은 개인키 입니다.
이 파일이 없거나 .ssh 디텍토리가 없으면 ssh-keygen 프로그램으로 키를 생성하여 준다.
터미널 실행하여 다음 명령어를 실행
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
적은 이메일을 레이블로 사용해서 새 SSH 키를 작성한다는 메세지가 출력됩니다.(아래와 같은 메세지가 나온다면 성공입니다.)
> Generating public/private rsa key pair.
SSH Key 저장위치 설정
"키를 저정할 파일을 입력하십시오" 라는 프로프트가 표시되면 Enter를 누르십시오.(기본위치로 지정)
> Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]
SSH Key 비밀번호 설정
비밀번호 없이 설정할경우 엔터 두번을 눌러주면된다.
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
SSH Key 등록
생성한 SSH Key를 등록해 봅시다
터미널을 실행하여 아래 명령어를 실행하여 백그라운드에서 ssh-agent를 시작
eval "$(ssh-agent -s)"
> Agent pid 59566
ssh의 config 파일에 아래 text를 입력
vi ~/.ssh/config
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_rsa
아래 명령어를 입력하여 SSH Key 값을 ssh-agent에 추가
ssh-add -K ~/.ssh/id_rsa
SSH Key를 Github 계정에 추가
Github 로그인후 우측상단 메뉴에서 Setting을 클릭

좌측의 Personal settings 메뉴 중에 SSH and GPG keys 클릭

New SSH Key를 눌러서 Title과 Key를 입력후 Add SSH Key 버튼을 눌러준다.
Key 에는 아래명령어를 사용해서 .pub 의 공개키를 입력해 준다.
cat ~/.ssh/id_rsa.pub
id_rsa.pub 예시
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU
GPl+nafzlHDTYW7hdI4yZ5ew18JH4JW9jbhUFrviQzM7xlELEVf4h9lFX5QVkbPppSwg0cda3
Pbv7kOdJ/MTyBlWXFCR+HAo3FXRitBqxiX1nKhXpHAZsMciLq8V6RjsNAQwdsdMFvSlVK/7XA
t3FaoJoAsncM1Q9x5+3V0Ww68/eIFmb1zuUFljQJKprrX88XypNDvjYNby6vw/Pb0rwert/En
mZ+AW4OZPnTPI89ZPmVMLuayrD2cE86Z/il8b+gw3r3+1nKatmIkjn2so1d01QraTlMqVSsbx
NrRFi9wrf+M7Q== schacon@agadorlaptop.local
Github SSH key 생성 및 적용하기를 해보았다. Github 연결시 계정정보를 입력해야 하는 번거로움에서 해방돠었다.
SSH 연결 테스트
SSH 를 연결하고 나서 직접 커밋하기 전에 테스트를 해보는 방법을 알아보았다. 연결테스트를 하기 전에 아래 작업들을 모두 완료해야한다.
- SSH 공개키 생성
- SSH Key 등록
- SSH Key를 Github 계정에 추가
먼저 터미널을 엽니다. 그리고 아래 문구를 입력해 줍니다.
$ ssh -T git@github.com
그러면 아래와 같은 경고가 경고문구를 보실 수 있습니다.
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?
또는
The authenticity of host 'github.com (IP ADDRESS)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?
위의 같은 메시지중 하나와 일치하는지 확인 후 yes 를 입력해 줍니다. 아래와 같은 멘트가 나오면 성공입니다.
Hi username! You've successfully authenticated, but GitHub does not
provide shell access.
자세한 내용은 아래 링크를 통해 확인 하실 수 있습니다.
https://help.github.com/en/github/authenticating-to-github/testing-your-ssh-connection
'Setting' 카테고리의 다른 글
| Webstorm 과 jira 연동해서 사용하기 (0) | 2021.08.26 |
|---|---|
| Webstorm에서 gitflow 사용하기 (0) | 2021.08.26 |
| [VScode] VScode Extension - 확장프로그램 추천 및 설치방법 (0) | 2021.08.26 |
| [VScode] Visual Studio Code에서 터미널을 git bash 기본으로 설정하기 (0) | 2021.08.26 |
| Mac os에 zsh 세팅하기 (0) | 2021.08.26 |