GitHub 개인 리포지토리에 암호 없는 인증을 설정하는 방법은 무엇입니까?

같은 작업의 반복은 우리 같은 프로그래머에게 지루하고 고통스러운 일입니다. 그렇지?

이러한 작업 중 하나는 GitHub의 개인 리포지토리와 대화형입니다. 어때요? 너는 무엇인지 알 잖아. 그리고 당신은 그것을 해결할 방법을 찾고 있고 이 기사에 도달했습니다. 이 기사를 읽은 후 검색을 중지합니다.

그래서 여기서는 암호 없이 GitHub 개인 리포지토리에 액세스하는 방법에 대해 이야기하겠습니다. 더 이상 고민하지 않고 시작하겠습니다.

GitHub 리포지토리에 액세스하는 방법에는 두 가지가 있습니다. HTTPS와 SSH입니다. 대부분의 사람들이 HTTPS를 사용하고 있습니다. 그러나 이제 개인 리포지토리를 복제하는 데 HTTPS 방법을 사용하는 것이 효율적인 방법이 아니라는 것을 알게 되었습니다.

접근에는 복제, 밀기, 당기기 등이 포함됩니다. 원격에서 리포지토리 업데이트와 관련된 모든 것.

공개 리포지토리에 액세스하는 데 문제가 없습니다. 그러나 개인 저장소에 액세스하는 동안 자신을 인증해야 합니다. 자신을 인증하는 방법에는 여러 가지가 있습니다.

가장 친숙한 것부터 시작하겠습니다…

HTTPS를 사용하는 경우

HTTPS 방법에 대해 알고 다른 방법을 찾아야 합니다. 이를 사용하여 개인 저장소에 액세스하는 방법을 빠르게 살펴보겠습니다.

  • 개인 저장소 링크를 복사하십시오.

GitHub 개인 저장소

  • 컴퓨터에서 터미널 또는 cmd를 엽니다.
  • 명령 git clone 링크를 붙여넣어 프라이빗 리포지토리를 복제합니다.
  • 링크를 개인 리포지토리 링크로 바꿉니다.
  • 우리 자신을 인증하도록 요청할 것입니다. 따라서 GitHub 자격 증명을 입력해야 합니다.
  • 먼저 GitHub 사용자 이름을 입력하라는 메시지가 표시됩니다. GitHub 사용자 이름을 입력하고 Enter 키를 누릅니다.

인증 사용자 이름

  • 이제 비밀번호를 입력해야 합니다. GitHub 암호를 입력하고 Enter 키를 누릅니다.

인증 비밀번호

그게 다야. HTTPS 방법을 사용하여 개인 저장소를 복제했습니다. 이제 리포지토리에서 무언가를 업데이트하고 커밋하고 원격으로 푸시합니다.

당신은 무엇을 알아 차렸습니까?

다시 인증을 요구합니다.

푸시 인증

개인 저장소와 상호 작용할 때마다 자격 증명을 입력하는 것이 지루하고 무거운 작업이 아닙니까?

네, 그렇습니다.

개인 리포지토리와 상호 작용할 때마다 GitHub 자격 증명을 입력할 수 없습니다. 시간이 오래 걸리고 작업 속도가 느려집니다.

위의 문제를 제거하는 방법에는 여러 가지가 있습니다. 가장 좋은 방법은 SSH를 사용하는 것입니다. 그러나 다른 방법이 있습니다. 하나씩 살펴보겠습니다.

.git 구성

리포지토리 버전에 대한 모든 정보는 .git 디렉토리에 저장됩니다. 숨김폴더입니다. 설정을 구성할 수 있는 구성 파일이 있습니다. 그러나 일반적으로 권장되지 않습니다.

  Google Home Hub 디스플레이에서 스마트 전구의 색상을 변경하는 방법

다음과 같이 리포지토리 URL에 사용자 이름과 비밀번호를 추가하여 프라이빗 리포지토리를 복제할 수 있습니다.

git clone https://<strong>username:password</strong>@github.com/<strong>username</strong>/<strong>repository_name</strong>.git

적절한 세부 정보로 사용자 이름, 암호 및 repository_name을 업데이트합니다. URL에 자격 증명을 제공했기 때문에 이전에 본 것처럼 인증을 요청하지 않습니다.

따라서 위의 인증 방법을 따르고 그에 따라 리포지토리 구성을 업데이트할 것입니다. URL을 업데이트하여 반복 인증을 제거하는 단계를 살펴보겠습니다.

  • 복제된 리포지토리에서 .git 폴더를 엽니다.

.git 폴더

  • 이름이 config인 파일을 찾을 수 있습니다. 선택한 텍스트 편집기를 사용하여 엽니다.
  • 다음과 같이 저장소 링크가 있는 줄이 있을 것입니다.

구성의 저장소 링크

  • 위와 같이 사용자 이름과 비밀번호를 추가하여 URL을 업데이트합니다.

저장소 URL 업데이트

이제 저장소에서 무언가를 다시 업데이트하고 커밋하고 푸시합니다.

당신은 아무것도 관찰합니까?

이번에는 GitHub 자격 증명을 요청하지 않아야 합니다. 따라서 리포지토리 설정을 업데이트하여 문제를 해결했습니다.

안전하지 않다는 것을 눈치채셨을 것입니다. 자격 증명을 노출하고 있습니다. 그리고 이 방법은 GitHub 암호에 @ 문자가 포함된 경우에는 작동하지 않습니다.

따라서 이 방법을 사용하면 몇 가지 중요한 단점이 있습니다. 따라서 무시하고 다음 방법으로 넘어갑시다.

자격 증명.도우미

credential.helper를 사용하면 자격 증명을 ~/.git-credentials 파일에 영원히 저장할 수 있습니다.

처음 입력할 때 자격 증명을 저장합니다. 다시 개인 저장소에 액세스하려고 하면 ~/git-credentials 파일에 저장될 때까지 자격 증명을 요청하지 않습니다. 이것이 우리의 문제를 피하는 방법 중 하나입니다. 정확한 단계에 따라 작동하는 것을 봅시다.

  • 먼저 git config credential.helper store 명령으로 자격 증명을 저장하는 옵션을 활성화해야 합니다.
  • 옵션을 활성화한 후 사용자 이름과 암호를 사용하여 개인 저장소에 액세스하십시오.
  • 사용자 이름과 암호를 입력하면 다음과 같이 GitHub 자격 증명과 함께 ~/.git-credentials 파일에 저장됩니다.

자식 자격 증명

이제 다시 동일한 프로세스로 올바르게 작동하는지 확인합니다. 업데이트, 커밋 및 푸시. 자격 증명을 저장하기 위해 위의 단계를 따랐다면 자격 증명을 요구하지 않을 것이라고 확신합니다.

잘되고 있어…

영구 대신 4시간 동안 자격 증명을 저장하려면 어떻게 해야 합니까?

credential.helper는 일정 시간 동안 자격 증명을 임시로 저장하는 방법을 제공합니다. 저장소 대신 캐시를 사용하여 일정 시간 동안 자격 증명을 저장합니다.

캐시는 기본적으로 15분 동안 자격 증명을 저장합니다. 15분 후 git은 다시 자격 증명을 요청합니다. 그러나 다음 명령을 사용하여 기본 시간을 변경할 수 있습니다.

git config credential.helper 'cache --timeout={time_in_seconds}'

시간을 초 단위로 제공하는 것을 잊지 마십시오. 실제로 그것을 보자.

  • 먼저 git config credential.helper cache 명령으로 자격 증명을 캐시하는 옵션을 활성화해야 합니다.
  • 사용자 이름과 암호를 사용하여 개인 저장소에 액세스하십시오.
  • 사용자 이름과 비밀번호를 입력하면 지정된 시간 동안 GitHub 자격 증명을 캐시합니다.
  PrefDelete를 사용하면 설정 앱에서 조정을 제거할 수 있습니다. [Jailbreak]

이제 업데이트, 커밋 및 푸시합니다. 다시 말하지만 자격 증명을 캐시하라고 말한 것처럼 자격 증명을 요구하지 않습니다.

우리는 당신에게 git 초기화된 리포지토리를 작업하기 위한 명령을 보여주었습니다. 위의 명령에 –global 플래그를 추가하여 모든 프로젝트에 대해 전역적으로 git 구성을 업데이트할 수 있습니다.

개인 액세스 토큰

개인 액세스 토큰은 GitHub API에 대한 액세스 권한을 부여하는 데 사용됩니다. 개인 액세스 토큰은 OAuth 토큰과 같습니다. 따라서 git의 비밀번호 대신 기본 인증에 사용할 수 있습니다. 따라서 개인 액세스 토큰을 사용하여 문제를 해결할 수 있습니다.

어떻게 하는지 봅시다.

  • GitHub 계정에 로그인합니다.
  • 설정으로 이동합니다.

GitHub 설정

  • 이제 왼쪽 탐색 모음에서 현상 설정으로 이동합니다.

GitHub 개발자 설정

  • 개인 액세스 토큰을 클릭하여 최종 목적지에 도달합니다. 다음과 같이 개인 액세스 토큰이 표시됩니다.

GitHub 개인 액세스 토큰

  • 새 토큰 생성을 클릭하여 새 토큰을 생성하십시오.

새 토큰 생성

  • 토큰에 대한 메모를 입력합니다. 토큰이 기억할 수 있는 짧은 메모라고 생각하시면 됩니다.

개인 액세스 토큰 참고

  • 토큰에 대한 권한을 선택합니다. 토큰을 사용하는 프로그램은 선택한 모든 권한에 대한 액세스 권한을 부여합니다. 우리의 경우 repo를 선택하십시오.

저장소 권한

  • 아래로 스크롤하여 토큰 생성 버튼을 클릭합니다.

토큰 생성 버튼

  • 다음과 같이 개인 액세스 토큰을 한 번만 표시합니다. 개인 토큰을 다시 볼 수 없습니다. 따라서 복사하여 안전한 곳에 저장하십시오. 필요한 경우 암호 관리자를 사용하십시오.

개인 액세스 토큰

  • 개인 액세스 토큰을 성공적으로 생성했습니다.
  • 이제 이를 사용하여 개인 저장소에 액세스할 차례입니다.
  • .git/config 파일에서 리포지토리 URL을 첫 번째 방법과 유사하게 https://{personal_access_token}@github.com/hafeezulkareem/private_repository.git로 업데이트합니다.

구성의 개인 액세스 토큰

이제 개인 저장소에 액세스해 보십시오.

인증을 요청했습니까?

아니요, 토큰이 활성화될 때까지 인증을 요청하지 않습니다. 문제를 해결하는 마지막 방법으로 이동하겠습니다.

SSH

SSH는 자신을 인증하는 데 사용됩니다. GitHub에서 SSH에 대한 전체 문서를 찾을 수 있습니다. 여기.

아이디어는 간단합니다. SSH 키를 생성하고 GitHub 계정에 추가하고 암호 없는 인증을 즐기십시오.

이 세 단계를 자세히 살펴보겠습니다.

  • 시스템에서 터미널 또는 cmd를 엽니다.
  • ssh-keygen -t rsa 명령을 입력하여 새 SSH 키를 생성합니다.
  • 키를 저장할 디렉토리를 요청합니다. Enter를 눌러 기본 디렉토리를 선택하십시오. 그러나 기본 설정에 따라 디렉터리를 변경할 수도 있습니다. 여기서는 기본 디렉토리를 사용합니다.
  내 TruConnect SIM 카드를 어떻게 활성화합니까?

SSH 디렉토리

  • 이제 SSH 키를 보호하기 위해 암호를 입력해야 합니다. 그러나 선택 사항입니다.
    • SSH 키에 대한 암호를 선택하면 시스템 전원을 켤 때마다 먼저 암호를 입력해야 합니다.
    • 암호를 선택하지 않은 경우 먼저 입력할 필요가 없습니다.

SSH 암호

  • 암호를 다시 입력하여 확인하십시오.

SSH 암호

  • 마지막으로 다음과 같이 새로운 SSH 키를 생성합니다.

SSH 키

시스템에서 새 SSH 키를 성공적으로 생성했습니다. 다음과 같이 두 개의 파일이 생성됩니다(경로를 변경한 경우 파일 이름이 다를 수 있음).

SSH 키 파일

이제 GitHub 계정에 연결할 차례입니다. 확장자가 .pub인 파일의 내용을 연결을 위해 GitHub 계정에 복사해야 합니다. 제 경우에는 id_rsa.pub입니다.

  • GitHub 계정에 로그인합니다.
  • 설정을 엽니다.

GitHub 설정

  • SSH 및 GPG 키를 클릭하여 최종 목적지에 도달합니다.

SSH 및 GPG 키

  • 새로 생성된 SSH 키를 추가하려면 새 SSH 키를 클릭합니다.

새 SSH 키

  • 다음 화면으로 이동합니다.

새 SSH 키

  • SSH 키에 적절한 제목을 추가합니다. SSH 키는 시스템마다 다릅니다. 따라서 이를 기반으로 선택하는 것이 좋은 옵션 중 하나입니다. 그러나 이것이 유일한 옵션은 아닙니다. 당신은 당신의 선호도에 따라 다른 것들을 기반으로 선택할 수 있습니다.
  • 제목을 선택한 후 .pub 콘텐츠를 복사하여 두 번째 필드에 붙여넣습니다.

새 SSH 키

  • 마지막으로 SSH 키 추가를 누르고 GitHub 암호로 액세스를 확인합니다.
  • 새로 추가된 SSH 키는 다음과 같습니다.

새 SSH 키

새로 생성된 SSH 키를 GitHub에 추가했습니다. 이제 나중에 비밀번호 없는 인증을 즐기려면 SSH 연결을 인증해야 합니다. 이를 수행하려면 터미널 또는 cmd에 다음 명령을 입력하십시오.

ssh -T [email protected]

SSH 연결

확인을 요청할 것입니다. 확인하세요. 그리고 끝났습니다.

이제 개인 저장소를 복제하십시오. 이번에는 어떠한 인증도 요구하지 않습니다.

업데이트, 커밋 및 푸시. 자. 더 이상 인증을 요구하지 않습니다. 즐기세요.

결론

휴! 항상 자격 증명을 입력하지 않고 개인 리포지토리에 액세스하는 다양한 방법을 다루었습니다. 어떤 방법을 사용해도 됩니다. 그러나 일반적이고 모범 사례는 인증에 SSH 방법을 사용하는 것입니다.

다시 말하지만 그것은 당신의 취향에 달려 있습니다. 유일한 SSH 방법을 사용하는 엄격한 규칙은 없습니다. 그러나 대부분의 기업은 인증을 위해 SSH 방식을 사용합니다. 이는 안전하고 많은 시간을 절약합니다. 자격 증명이 안전한지 확인하십시오.

행복한 개발 🙂