Github의 개인 액세스 토큰을 사용해 보았습니다.

5661 단어 초보자GitHubGit

소개



어느 날 갑자기 git clone 할 수 없게되어 초조했기 때문에 써 둡니다.

환경



Docker - centOS

전제


  • Docker를 시작합니다.
  • 다음 사이트를 바탕으로 실시하고 있습니다.


  • 절차



    Git 환경 준비



    다음 Dockerfile을 적절한 디렉토리에 만듭니다.

    Dockerfile
    # 検証環境
    FROM centos:centos7
    # 必要なツールのインストール
    RUN yum install -y git
    

    로컬(Mac)
    # ファイルの作成と編集が可能
    vi Dockerfile
    

    로컬(Windows)
    # ファイルの作成のみ
    type nul > Dockerfile
    
    # フォルダから作成したファイルをメモ帳で開き編集
    

    Dockerfile이 있는 디렉토리에서 다음 명령 실행

    로컬(Mac)
    # Dockerfileを元にイメージを作成
    $ sudo docker build -t git/git .
    # イメージを元にコンテナを起動
    $ sudo docker run -it git/git
    

    Windows의 경우 관리자 권한으로 명령 프롬프트를 열어야 합니다.

    로컬(Windows)
    # Dockerfileを元にイメージを作成
    $ docker build -t git/git C:¥Users¥<ユーザ名>¥Dockerfile
    
    # イメージを元にコンテナを起動
    $ docker run -it git/git
    

    Docker 환경 (컨테이너)
    # 起動したコンテナ上でgitのバージョンを確認
    $ git --version
    
    # アカウント名とメールアドレスを登録
    $ git config --global user.name "<アカウント名>"
    $ git config --global user.email "<メールアドレス>"
    

    Github 계정 만들기



    다음 사이트에서 계정을 만듭니다.
    ※무료로 사용하고 싶기 때문에 플랜(subscription)은 Free를 선택합니다.

    원격 리포지토리 만들기



    전제에 기재한 사이트의 「원격 리포지토리의 작성」이후를 바탕으로 리모트 리포지터리를 작성합니다.
    ※Mac용의 사이트입니다만, 해당 개소는 Mac/Windows공용입니다.

    ※작성 후 표시되는 URL을 복사해 주세요.

    Github에 푸시하기



    git에 대한 디렉토리를 준비합니다.

    Docker 환경 (컨테이너)
    # リモートリポジトリに登録するディレクトリ・ファイルを作成
    $ mkdir mysite
    $ cd mysite
    $ git init
    $ git remote add origin <作成したリモートリポジトリのURL>
    $ touch index.html
    
    # リモートリポジトリにプッシュ
    $ git add index.html
    $ git commit -m "Create index.html"
    
    # プッシュしたらエラーが発生
    $ git push origin master
    Username for 'https://github.com': <Githubのアカウント名>
    Password for 'https://[email protected]':<Githubのアカウントパスワード>
    remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
    remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
    fatal: Authentication failed for 'https://github.com/ko-ogino/mysite.git/'
    

    에러 내용을 Google 선생님으로 번역하면 패스워드 인증은 2021/08/13에서 종료한 것 같다.
    대신 액세스 토큰을 사용하라는 것.

    원격: 암호 인증 지원이 2021년 8월 13일에 삭제되었습니다. 대신 개인 액세스 토큰을 사용합니다.
    원격: 자세한 내용은 https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/를 참조하십시오.
    치명적 : "https://github.com/ko-ogino/mysite.git/' 인증에 실패했습니다.

    액세스 토큰 얻기



    다음 공식 사이트를 기반으로 액세스 토큰을 받으십시오.

    이번에는 검증 & CLI에서 푸시하므로 repo에만 체크를 넣고 Generate token을 클릭합니다.


    검색된 액세스 토큰을 바탕으로 다시 푸시합니다.

    Docker 환경 (컨테이너)
    $ git push origin master
    Username for 'https://github.com': <Githubのアカウント名>
    Password for 'https://[email protected]': <取得したアクセストークン>
    Counting objects: 3, done.
    Writing objects: 100% (3/3), 219 bytes | 0 bytes/s, done.
    Total 3 (delta 0), reused 0 (delta 0)
    To https://github.com/ko-ogino/mysite.git
     * [new branch]      master -> master
    

    원격 리포지토리를 브라우저에서 찾아보고 만든 파일이 등록되어 있는지 확인합니다.

    결론



    취득한 토큰은 시크릿 정보로서 별도 보관·관리할 필요가 있는 점만 주의가 필요합니다.
    하지만 액세스 토큰을 얻는 것은 그리 어렵지 않았습니다.
    토큰측에서 액세스 제어를 어느 정도 걸 수 있는 것도 좋았습니다.

    좋은 웹페이지 즐겨찾기