ChatGPT
GitHub에서 특정 리포지토리를 clone하고 SSH 키를 설정하여 반복적으로 로그인하지 않도록 하는 방법은 다음과 같습니다:
- GitHub 계정 만들기 및 SSH 키 설정:
- GitHub에 가입하려면 https://github.com/ 에서 가입 프로세스를 따릅니다.
- 계정을 만들었다면, 로그인하세요.
- SSH 키를 생성하려면 터미널 또는 명령 프롬프트에서 다음 명령을 실행합니다:이 명령에서 "your_email@example.com" 부분을 본인의 이메일 주소로 바꿉니다. 키 생성 중에 암호를 설정하라는 메시지가 나오면 암호를 설정하세요. 암호는 SSH 키를 사용할 때 필요할 수 있습니다.
-
mathematicaCopy code$ssh-keygen -t ed25519 -C "your_email@example.com"
- 키 생성이 완료되면, 공개 키를 GitHub에 추가해야 합니다. 터미널에서 다음 명령으로 공개 키를 복사합니다:
-
bashCopy code$cat ~/.ssh/id_ed25519.pub==> 공개키는 한 줄이며 ssh-ed25519 AAA로 시작하고 이메일로 끝납니다.
- 공개 키를 클립보드에 복사한 후, GitHub 계정 설정 페이지로 이동하여 "SSH and GPG keys" 섹션에 공개 키를 추가합니다.
- 리포지토리 Clone:
- SSH 키가 GitHub에 등록되었으면, 해당 리포지토리를 clone할 수 있습니다. 터미널에서 다음 명령을 사용하여 리포지토리를 clone합니다:여기서 사용자명과 리포지토리명을 실제 사용자명과 리포지토리 이름으로 바꿉니다.
-
scssCopy code$git clone git@github.com:사용자명/리포지토리명.git
만약 A PC에서 생성한 SSH 키를 B PC에서도 사용하려면, A PC에서 생성한 키를 B PC로 복사해야 합니다.
- 공개 키와 개인 키 복사 A PC의 SSH 키 파일을 B PC로 이동합니다. 예를 들어, 기본 경로(~/.ssh/id_ed25519와 ~/.ssh/id_ed25519.pub)를 복사합니다.
-
bash코드 복사# A PC에서 B PC로 복사 (B PC의 IP가 192.168.1.100이고 사용자명이 user라고 가정) scp ~/.ssh/id_ed25519* user@192.168.1.100:~/.ssh/
- 권한 설정 B PC에서 복사한 파일의 권한을 올바르게 설정합니다:
-
bash코드 복사chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub
- SSH 에이전트에 추가 (B PC에서) 복사한 키를 SSH 에이전트에 추가합니다:
-
bash코드 복사eval "$(ssh-agent -s)" ssh-add ~/.ssh/id_ed25519
혹은 Window에서는 관리자용-PowerShell에서 아래방식이 잘됨.
Start-Service ssh-agent
ssh-add C:\Users\<YourUsername>\.ssh\id_ed25519
혹시 git 이 잘 안된다면 $which ssh 를 해보면 /usr/bin/ssh 가 나오는 경우가 있는데,
이걸 "/c/Windows/System32/OpenSSH/ssh" 를 사용하도록 바꿔야 한다.
간단하게 mv /usr/bin/ssh /usr/bin/ssh-backup 으로 없애버리면 된다.