암호화git 제출

-
Git는 IT 분야에 사용되는 업계 표준 버전 제어 도구이기 때문에 개발자가 반드시 배워야 할 도구와 기술이다.
개발 단계에서 개발자는 수백 수천 차례의 제출을 진행했다.그러나 비록 이것은 안전 결함과 관련이 있고 프로젝트의 취약성에 영향을 미칠 수 있지만 미경험증의 제출을 발견하기 어렵지 않다.
본고는 주로 서명(검증) 약속의 중요성에 주목할 것이다.Git 저장소에서 다른 사람을 가장하는 방법에 대한 연습도 있다.
-

카탈로그

  • SSH 키 소개
  • GPG 키
  • GPG 키를 사용하지 않은 보안 취약점 예제
  • GPG 키 설정 방법
  • 서명 제출 작성 방법
  • 마지막 생각
  • -

    SSH 소개



    Github에 SSH 키 추가
    우선, 기기에 SSH 키를 설정하여 Github 인증을 하고 Github 계정에 등록했다고 가정합니다.없으면 Connecting to GitHub with SSH 을 읽고 절차를 따르십시오.
    SSH 키를 설정하면 모든 git 활동에 Github 사용자 이름이나 암호를 제공할 필요가 없습니다.이것이 바로 SSH 키를 설정하는 주요 원인입니다.Github에 SSH 키를 연결하면 모든 커밋이 안전합니까?우리는 이 점을 깊이 있게 연구하고 본고의 뒷부분에서 SSH 키만 사용하는 단점을 토론할 것이다.
    -

    그렇다면 GPG 키는 무엇입니까?



    GnuPG 로고
    Gnu Privacy Guard(GPG)는 사용자가 추가 보안 레이어를 다른 응용 프로그램과 쉽게 통합할 수 있도록 하는 도구입니다.이 경우 Git이 됩니다.

    GnuPG is a complete and free implementation of the OpenPGP standard as defined by RFC4880 (also known as PGP). GnuPG allows you to encrypt and sign your data and communications; it features a versatile key management system, along with access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command line tool with features for easy integration with other applications. A wealth of frontend applications and libraries are available. GnuPG also provides support for S/MIME and Secure Shell (ssh).

    Since its introduction in 1997, GnuPG is Free Software (meaning that it respects your freedom). It can be freely used, modified and distributed under the terms of the GNU General Public License .

    The current version of GnuPG is 2.2.17. See the download page for other maintained versions.

    Gpg4win is a Windows version of GnuPG featuring a context menu tool, a crypto manager, and an Outlook plugin to send and receive standard PGP/MIME mails. The current version of Gpg4win is 3.1.10.


    GNU 개인 정보 보호
    -

    GPG 키를 사용하지 않으면 어떻게 됩니까?



    감시하의 복장
    매우 흔히 볼 수 있는 심각한 문제는 로컬 컴퓨터에서 다른 개발자의 Github 사용자 이름과 이메일을 설정하고 커밋을 만들 수 있다는 것이다. 이 커밋은 Git 저장소에 "다른 사람"커밋으로 표시됩니다.물론 이 활동은 일정한 조건을 만족시켜야 한다.다음 명령은 터미널에서 다른 Github 사용자 이름과 전자 메일을 설정하는 방법을 보여 줍니다.
    -
    // setup username and email
    $ git config --global user.name "No GPG"
    $ git config --global user.email [email protected]
    
    // verity username and email
    $ git config --global user.name
    > No GPG
    $ git config --global user.email
    > [email protected]
    
    여기에서 Git 저장소 테스트에 제출한 두 가지 다른 예시 signing commit 를 여러분과 공유하고 싶습니다.
    이git 저장소를 만들 때, 서명 (검증) 제출을 사용하여 초기 전송을 했습니다.

    git 제출 기록 화면 캡처
    그리고 내 친구에게 물었다.
    ) 위와 같이 Github 사용자 이름과 이메일을 주었습니다.(이 로그인 증빙서류는 쉽게 찾을 수 있다.)그는 제출 및 전송 master 지점을 만들었다.아래의 결과를 보십시오.

    git 제출 기록 화면 캡처
    제출은 내가 만든 것 같다.그러나 처음 제출한 것과 같은'검증된'로고는 없습니다.
    만약 master 지점이 Git 저장소 테스트처럼 보호되지 않는다면, 참여자 목록에 있는 모든 사람은 다른 사람인 척 코드를 전송할 수 있다.지점을 보호하는 방법에 대한 상세한 정보를 보십시오here.
    주의: 이 이벤트를 테스트하고 싶으면 Github 사용자 이름이 포함된 메시지를 보내주세요.나는 너를 협력자 명단에 넣을 것이다.
    -

    GPG 키 설정 방법


    참고 자료에서는 워크스테이션에서 GPG 키를 설정하는 방법과 Github 계정에 추가하는 방법을 설명합니다.
  • Setup GPG key Github
  • Sign your commits on Github with GPG
  • -

    서명 제출을 만드는 방법


    커밋을 작성하기 전에 파일을 추가합니다.
    // add a single file
    $ git add [path file]
    
    // add all file
    $ git add .
    
    다음git 명령은 서명을 포함하거나 포함하지 않는 커밋을 만드는 방법입니다.
    // create commit with a message without signing
    $ git commit -m "commit message"
    
    // add all file that you want to commit
    $ git commit -S -m "commit message"
    
    서명 제출을 만들면 다음은git repo로 전송합니다.
    // push the commit
    $ git push 
    
    다음 화면 캡처는git 저장소에서git 서명 제출을 테스트하는 예시(signing commit

    서명 제출 세부 정보
    -

    결론


    요약하면 GPG 키를 사용하면 데이터를 암호화하고 개인 서명을 추가하여 보안과 신뢰성을 향상시킬 수 있습니다.만약 귀하나 귀하의 조직이 이러한 것들을 고려했다면 상술한 절차는 그 장점을 가져오고 제출 작업 흐름에 대한 신뢰를 확보할 것입니다.
    참고: 이 활동은 모든 경우에 적용되지 않을 수 있습니다.올바른 용도로 사용하십시오.
    -

    공구서류

  • Gnu PG
  • Telling Git about your signing key
  • What are the advantages and disadvantages of cryptographically signing commits and tags in Git?
  • Why would I sign my git commits with a GPG key when I already use an SSH key to authenticate myself when I push?
  • How to create signing commits
  • Setup gpg-key within SourceTree
  • GnuPG manual
  • -

    협력자

  • 알레한드로 대지(@alemesa)-[email protected]
  • Danny Paton-[email protected]
  • 좋은 웹페이지 즐겨찾기