ls -a ~/.ssh
만약 SSH 키가 존재한다면 파일 이름은 생성한 버전에 따라 다를 수 있습니다.
ssh-keygen -t ed25519 -C "your_email@example.com"
문서에서는 기존 버전(legacy system) 이라고 말하는데, Mac 버전에 따라 ed25519
로 key 생성이 안되는 경우에는 아래 rsa
방식을 이용해 주세요.
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
> Enter a file in which to save the key (/Users/you/.ssh/id_algorithm): [Press enter]
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]
다음과 같이 passphrase 를 입력하라는 화면이 뜨는데, 아무것도 입력하지 않고 넘겨도 진행이 됩니다. 저는 그냥 엔터를 쳐서 넘겼습니다. ( * passphrase 에 대한 설명은 링크 참조 )
eval "$(ssh-agent -s)"
그러면 해당 ssh-agent가 열리면서 pid가 할당이 됩니다. Agent pid XXXX
대략 이런 식으로 뜨는데, 포트 번호 하나를 받았다고 이해하시면 됩니다.
open ~/.ssh/config
만일 이렇게 입력했을 때 The file /Users/you/.ssh/config does not exist.
이렇게 뜬다면 config 파일이 없는 경우이니 새로 생성해 준 후에 파일을 열어 주세요.
touch ~/.ssh/config
open ~/.ssh/config
새롭게 생성했기 때문에 비어있는 텍스트 에디터 창이 뜰 겁니다.
해당 파일에 아래와 같이 입력한 후에 저장해 주세요.
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
ssh-add -K ~/.ssh/id_ed25519
만약 Monterey 12.0
이상 버전을 사용중이라면 -K
명령어가 들지 않기 때문에 아래와 같이 입력해 줍니다.
(저는 Monterey 12.1 버전이라 이 명령어를 사용해야 했습니다 / 내 Mac 버전 체크는 상단의 로고 클릭 > 이 Mac에 관하여 에서 확인)
ssh-add --apple-use-keychain ~/.ssh/id_ed25519
pbcopy < ~/.ssh/id_ed25519.pub
이렇게 입력하면 해당 key에 대한 정보가 자동으로 클립보드로 복사가 됩니다. 복사가 잘 되었는지 궁금하다면, 텍스트 에디터나 메모를 띄워서 ctrl + v
를 해보시면 이상한 글자들이 가득한 걸 볼 수 있습니다.
버튼을 눌러 키를 생성해 주시면 됩니다.
Title은 아무거나 넣으시면 됩니다 ex) mySSH, ssh_key ...
Key에는 클립보드에 복사된 내용은 붙여 넣으시면 됩니다. 내용이 사라졌다면, 다시 ❶ 명령어를 입력해서 얻을 수 있습니다.
입력을 완료했으면 Add SSH Key를 누르면 약간의 로딩이 있은 후에 SSH key 생성이 완료됩니다.
이제 HTTPS 방식 외에 SSH 방식으로도 로컬 - 원격저장소에서 깃 활용을 할 수 있습니다. 와~ 👏👏