본문 바로가기
MAC & IOS

ssh-key 생성, 등록, 적용

by kage2k 2022. 3. 9.
728x90
반응형

Github or Gitea 등 계정을 여러개로 나누어서 사용하고 싶다면?
ssh-key 설정하고, clone remote 주소를 ssh host 방식으로 사용하면됩니다.

1) ssh-key 파일 생성

ssh-keygen -t <암호화방식> -C '깃헙등록메일@메일.com'

ssh-keygen -t ed25519 -C "mail@mail.com" : 실제작성

  • -t 암호화 방식 지정 : rsaor ed25519=> 되도록이면 ed25519로 하는 것이 좋다고합니다.
Generating public/private ed25519 key pair.
Enter file in which to save the key (/Users/user명/.ssh/id_ed25519): 만들파일명(예) github-personal
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in github-personal
Your public key has been saved in github-personal.pub
The key fingerprint is:
...뭔가 나옴
The key's randomart image is:
+--[ED25519 256]--+
|B.. o   E        |
|o+ + . o o       |
|o + o + o   .    |
... <이런박스 나옴됨>
|  . + = = + .    |
|     . = . .     |
|        .        |
+----[SHA256]-----+

파일이 생성되고 나면

  • *.pub 와 쌍으로 이루어진 파일이 보입니다. pub파일은 공개용입니다. 개인용은 절대로 공개해서는 안됩니다.

 

 

2) ssh-key 등록

ssh-add <개인키 파일경로>
ssh-add ~/.ssh/id_rsa_work : 실제 적용


ssh-add -l 등록된 key 목록확인

$ ssh-add ~/.ssh/id_rsa_work
Identity added: id_rsa_work (등록이메일@이메일도메인.com)

 

 

3) ssh config 파일 작성

touch ~/.ssh/config

위 파일을 터미널에서 생성하고
vscode 등에서 해당 파일을 오픈합니다.

#gitea
Host gitea
  AddKeysToAgent yes # Mac 사용자만
  StrictHostKeyChecking no  #에러 발생하는 경우 무시하기
  HostName gitea도메인.도메인
  User git
  Port=ssh_port
  IdentityFile ~/.ssh/ssh공개키경로

각 부분에 맞도록 사용자가 입력합니다.

error 발생시 무시하는 코드를 넣습니다. StrictHostKeyChecking no

 

 

4) ssh 등록

설정 > SSH/GPG 키 > SSH키 관리 > 키추가
_.pub 파일의 내용을 붙여넣기 합니다.

터미널에서
pbcopy < ~/.ssh/_.pub pbcopy 명령어를 사용하면 나중에 붙여넣기 하실수 있습니다.

혹은 cat ~/.ssh/id_ras.pub 으로 화면에 보이는 내용을 복붙하여도 됩니다.
간혹 cat 로 하면 복사가 안되는 경우가 발생하기 때문에.

 

 

5) ssh연결테스트

ssh -T git@만든개인키값이름

  • 출력값: 뭔가 많고, Hi there, 누구! You've successfully authenticated with the key named

 

 

6) ssh 사용

ex) ssh://git@gitea.kage2k.com:4322/killerj1/sqflite220307.git
위 레파지토리는 git 개인용서버 연결된것입니다. 위 3)에서 만든 config 를 활용하려하면 아래와 같이 사용하면됩니다.
ssh://gitea/killerj1/sqflite220307.git

가능한 이유는 Host gitea 라고 지정하고 나머지 도메인과 포트 번호를 전부 config에 넣었기 때문입니다.

끝.

300x250
반응형