ssh-key 생성 및 github, gitlab에 추가

정보/뉴스

ssh-key 생성 및 github, gitlab에 추가

담운 0 1,720 2019.06.08 16:33

여러 git서버들 (github, gitlab 등)은 SSH공개키를 통해서 인증할 수 있습니다. 즉 SSH공개키를 통해서 로그인 한것과 같은 효과를 낼 수 있습니다.

이는 매번 git config credential.helper store 등의 명령어로 비밀번호를 저장하는 번거로움을 덜어줄 수 있습니다. 또한 저의 경우는 github과 gitlab을 동시에 사용하는데 계정이 달라서 하나의 ssh key로 두 서버에 동시사용하는 중입니다. (보안에 문제가 될지 모르겠지만 편리합니다. 필요하다면 여러개의 ssh key를 생성하여 서버마다 다른 ssh key를 적용하는것도 가능합니다. 밑에서 설명)

1. ssh key 생성

ssh-keygen 명령어를 통해 생성 가능합니다.

ssh key를 생성할 경로와 passphrase를 입력하라고 합니다. 경로는 원하는곳에 지정하면 됩니다. 보통의 경우 default인 ~/.ssh 의 내부에 저장합니다. passphrase는 비밀번호를 통해 ssh key를 한번 더 암호와 합니다.

생성 후 ~/.ssh 경로에 들어가면 id_rsa, id_rsa.pub 이렇게 2개의 파일이 생성되어 있습니다. 이름에서 알 수 있듯이 id_rsa파일이 secret key, id_rsa.pub이 public key입니다.

2. ssh key 등록(github)

github로그인 -> Settings -> SSH and GPG keys -> New SSH key에 Title과 Key를 입력하면 됩니다. Title은 해당 key를 구별하기위한 이름을 쓰면 되고 Key에 실제 key를 쓰면 됩니다. 옅은 글씨로 나와있는 것처럼 ‘ssh-rsa’로 시작하는 id_rsa.pub파일의 내용을 복사해서 붙이면 됩니다. vi ~/.ssh/id_rsa.pub을 하면 아주 긴 1line의 내용이 있으므로 cat ~/.ssh/id_rsa.pub을 통해 커맨드라인에 띄운 후 드래그해서 복사하면 됩니다.

3. ssh key 등록(gitlab)

gitlab로그인 -> Settings -> SSH Keys에 Title과 Key를 입력하면 됩니다. 위의 github과 마찬가지로 Title은 이름, Key에는 Public Key(~/.ssh/id_rsa.pub)를 입력하면 됩니다.

4. ssh config 설정

특정 서버에 특정 ssh key를 사용하고 싶을 경우 ~/.ssh/config에서 설정하면 됩니다. 저의 경우에는 github과 gitlab에 동시에 같은 ssh key를 사용하려고 합니다. github.com과 gitlab.com에 대하여 사용할 ssh key를 설정해줍니다.

Host github.com, gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
view raw ssh_config hosted with ❤ by GitHub
 

Comments

Total 72 Posts, Now 1 Page