GIT - 비밀 공유
6293 단어 gitteamcollaborationsecrets
추상적인
경우에 따라 다른 팀원과 비밀을 안전하게 공유하고 싶을 수도 있습니다. 게다가 당신은 그 비밀의 역사를 갖고 싶어합니다.
이를 위해Git crypt는 git 저장소 내에서 비밀을 처리하는 데 도움이 됩니다.
git-crypt는 git 저장소에 있는 파일의 투명한 암호화 및 암호 해독을 가능하게 합니다. 보호하기로 선택한 파일은 커밋 시 암호화되고 체크아웃 시 해독됩니다. git-crypt를 사용하면 공개 및 비공개 콘텐츠가 혼합된 저장소를 자유롭게 공유할 수 있습니다.
일부 기능
설치
먼저 git-crypt를 설치해야 합니다.
설치를 위해
make
가 필요합니다.repo을 복제하고 다음 명령을 사용하십시오.
먼저
cd
임시 디렉토리에 저장하십시오.git clone [email protected]:AGWA/git-crypt.git
cd git-crypt
make
make install
비고
docker run -v <local_git_repo>:/home/git-secrets/ andyaugustin/git-secrets:main git-crypt
설정
GPG
키 쌍이 필요합니다(실제로 메일 주소에 대해 이미 생성되었을 수 있음).
git 사용자에 추가된 메일 주소를 사용하십시오.
먼저 해당 설정을 확인하고 싶습니다.
$ git config --global user.email
[email protected]
$ git config --global user.name
John Doe
해당 항목을 마음에 두거나 적어 두십시오 :evil_imp:
이제 gpg 키를 생성하려고 합니다.
방금 받은 이름과 메일을 입력합니다.
gpg --gen-key
git-crypt
git 저장소를 사용할 수 있어야 합니다. 선호하는 Git 공급자(예: GitHub, GitLab, Gitea, ...)에서 이름이 git-crypt-test인 리포지토리를 생성하십시오.
저장소 및
cd
를 복제하십시오.git clone <use_your_repo_url>/git-crypt-test
cd git-crypt-test
이제 git-crypt를 초기화해야 합니다.
git-crypt init
이제 git-crypt로 모니터링하고 처리할 파일을 지정하려고 합니다.
그것은 쉽습니다. 따라서 암호화하려는 파일과 함께 .gitattributes 파일을 추가하기만 하면 됩니다.
echo "secretfile filter=git-crypt diff=git-crypt\n*.key filter=git-crypt diff=git-crypt\nsecretdir/** filter=git-crypt diff=git-crypt" >> .gitattributes
이제 .gitattributes 파일의 내용이 보일 것입니다.
secretfile filter=git-crypt diff=git-crypt
*.key filter=git-crypt diff=git-crypt
secretdir/** filter=git-crypt diff=git-crypt
이것은 .gitignore 파일과 같으며 다음과 같은 내용이 있습니다.
이제 비밀에 git 사용자를 추가합니다. 따라서 gpg 키의 ID를 가져와야 합니다.
gpg --list-key $(git config --global user.email)
(id는/와 날짜 사이의 pub에 있습니다).
텍스트 편집기에 복사하십시오.
이제 로컬 git 리포지토리 데이터베이스의 키링에 키를 추가합니다.
텍스트 에디터에 복사한 아이디로 교체해주세요.
git-crypt add-gpg-user <USER_ID>
이제 암호화를 위한 파일을 추가합니다.
echo "This file will be encrypted" >> to_encrypt.key
변경 사항을 커밋합니다.
git add .
git commit -m "add file to encrypt :lock:"
이제 파일을 잠그고 확인하십시오.
git-crypt lock
그냥 파일을 확인
cat to_encrypt.key
암호화되어 있습니다. 잠금 해제 유형
git-crypt unlock
파일을 다시 확인하십시오
cat to_encrypt.key
좋은 점은 암호화되지 않은 파일을 git repo에 푸시할 수 없다는 것입니다.
그것을 테스트하자.
git add .
git commit -m "add encrypted file"
git push
즐겨찾는 git 제공업체에서 파일을 확인하세요. 암호화되어 있음을 알 수 있습니다.
git-crypt 데이터베이스에 사용자 추가
git-crypt에 사용자를 추가하려면 공개 gpg 파일이 필요합니다.
다른 사용자에게 다음 명령을 사용하도록 지시하십시오.
gpg --armor --output public-key.gpg --export <key_mail_address>
키 파일을 gpg 키링으로 가져오고 신뢰 수준 궁극기를 추가하십시오.
gpg --import public-key.gpg
# get the id of the imported key
gpg --list-key <key_mail_address>
gpg --edit-key <key_id>
trust
# We need ultimate trust, so choose 5
save
이제 이전과 같이 사용자를 추가할 수 있습니다.
# the user_id is the id of the user in your public key_ring
git-crypt add-gpg-user <USER_ID>
이제 다른 사용자는 git 저장소에서 git-crypt로 파일을 해독할 수 있습니다 🚀
Reference
이 문제에 관하여(GIT - 비밀 공유), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/andreasaugustin/git-share-secrets-4c60텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)