Налаштування зашифрованого сховища git


28

Ситуація

Я хотів би зберегти дані за допомогою git, зашифрованих (на такій платформі, як бітбукет чи github ). Тому питання:

Питання

Я шукаю різні способи без проблем:
Як налаштувати зашифроване сховище на bitbucket (/ github)? Тепер я новачок в git, тому вказівка ​​з усіма необхідними кроками або покроковою була б дуже вдячна!

"Дослідження"

git-crypt
Я знайшов git-crypt , але на сайті зазначається, що він призначений для шифрування одного файлу. Якщо хтось хотів зашифрувати весь сховище, він пересилає до git-remote-gcrypt .

git-remote-gcrypt
У своїй README.rst вони ставлять це так просто, як

Швидкий початок

git remote add cryptremote gcrypt::rsync://example.com:repo
git push cryptremote master
> gcrypt: Setting up new repository
> gcrypt: Remote ID is :id:7VigUnLVYVtZx8oir34R
> [ more lines .. ]
> To gcrypt::[...]
> * [new branch]      master -> master

або під

Приклади

# notice that the target git repo must already exist and its
# `next` branch will be overwritten!
git remote add gitcrypt gcrypt::git@example.com:repo#next
git push gitcrypt master

Пробує

Я вважаю за краще повне шифрування сховища, тому я спробував git-remote-gcryptз варіантами Quickstart і Example . Поки я намагався натиснути на існуючий сховище, дотримуючись їх інструкцій. Що дає це: (зауважте: я навмисно змінив ім'я користувача на user)

-> з sshяк у наведеному прикладі

[...]/git_test$ git remote add origin gcrypt::git@bitbucket.org:user/test.git
[...]/git_test$ git push -u origin --allgcrypt: Development version -- Repository format MAY CHANGE
gcrypt: Repository not found: git@bitbucket.org:user/test.git
gcrypt: Setting up new repository
gcrypt: Remote ID is :id: ...
Zähle Objekte: 10, Fertig.
Komprimiere Objekte: 100% (6/6), Fertig.
Total 10 (delta 0), reused 0 (delta 0)
gcrypt: Encrypting to: --throw-keyids --default-recipient-self
gcrypt: Requesting manifest signature
Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
error: Fehler beim Versenden einiger Referenzen nach 'gcrypt::git@bitbucket.org:user/test.git'

або з https(що працювало)

[...]/git_test$ git remote add gitcrypt gcrypt::https://user@bitbucket.org/user/test.git
[...]/git_test$ git push -u gitcrypt --allgcrypt: Development version -- Repository format MAY CHANGE
Password for 'https://user@bitbucket.org': 
gcrypt: Repository not found: https://user@bitbucket.org/user/test.git
gcrypt: Setting up new repository
Password for 'https://user@bitbucket.org': 
gcrypt: Remote ID is :id: ...
Zähle Objekte: 10, Fertig.
Komprimiere Objekte: 100% (6/6), Fertig.
Total 10 (delta 0), reused 0 (delta 0)
gcrypt: Encrypting to: --throw-keyids --default-recipient-self
gcrypt: Requesting manifest signature
Password for 'https://user@bitbucket.org': 
To gcrypt::https://user@bitbucket.org/user/test.git
 * [new branch]      master -> master
Branch master konfiguriert zum Folgen von Remote-Branch master von gitcrypt.

Тим не менш, я не розумію, як додати користувачів або навіть просто перетягнути резервну копію на іншу машину (оскільки мій gpg-ключ був створений локально) !? Не соромтеся просто відповідати на використання git-remote-gcrypt.


Вони можуть бути пов’язані з цим: - superuser.com/questions/676497/… Надане посилання [filter] [3] змусило мене повірити, що це хитро використання функцій git, яка змінює код (/ вміст) при натисканні / потягуванні. І en- / de-cryption робиться наданими сценаріями. Якщо це так, то я б скоріше віддав перевагу способу, який простіше налаштувати без клопоту тих сценаріїв - таких програм, як git-remote-gcrypt. Крім того, це дозволило б розкрити вміст сховища, правда?
gr4nt3d

- superuser.com/questions/900656/… Подібне запитання спеціально до бітбукета, на який немає відповіді.
gr4nt3d

1
Подивіться на gist.github.com/shadowhand/873637
Nifle

@Nifle, здається, є методом фільтра, як у моєму першому коментарі, правда? Чи шифрує це все репо або просто вміст файлів?
gr4nt3d

1
Ви подивилися на git-remote-gcrypt або Keybase ?
harrymc

Відповіді:


16

Безкоштовним та відкритим інструментом є Keybase :

Git підтримує віддалені помічники. І ми зробили відкритий джерело.

Віддалений помічник Keybase виконує всю криптовалюту, дозволяючи git робити свою справу. Це може здатися вражаючим, але Keybase не повторив git з нуля. Ми надаємо віддалену допомогу, що працює на основі чудового проекту go-git, до якого ми почали сприяти.

Ми подаємо до столу: (1) криптовалюта, (2) команда + управління декількома пристроями, (3) більш безпечна концепція ідентичності.

Вона зашифрована в кінці. Він розміщений, як, скажімо, GitHub, але розшифрувати будь-яку з них зможете лише ви (та товариші по команді). Для Keybase - це все, окрім шаленого безладу. Для вас це звичайний замовлення без зайвих кроків.

Навіть назви вашого сховища та назви філій зашифровані і, таким чином, не читаються співробітниками Keybase або інфільтраторами.

Командна робота підтримується через Keybase Teams :

Команда Keybase - це названа група людей з гнучким членством. Скажімо, ви працюєте над проектом під назвою Treehouse. Ви можете зареєструвати будинок дерев на Keybase. Назва команди є універсальною; може бути лише одна команда Keybase із заданим іменем.

Команди отримують чати та канали. Чат схожий на слабість чи розбрат:

Але командна робота Keybase зашифрована в кінці, що означає, що вам не доведеться турбуватися про злому сервера.

Ключова база


1
Гарний інструмент там! Однак, здається, це закрита екосистема. Я не зміг знайти жодних підказок, які б показували, як працювати з користувачами, які не користуються Keybase. Чи можливо це? Я припускаю, що змусити цілу команду використовувати цей інструмент або залежність від нього переважає переваги.
gr4nt3d

Це з відкритим кодом. Чи буде розроблений вами інструмент більш відкритим?
harrymc

Я мав на увазі використання; і я не впевнений, як насправді працюють віддалені помічники git . Чи можна використовувати ключ (який не pgp, а щось нове, правда?) Та цей помічник, але без gui?
gr4nt3d

Я не можу відповісти на ці запитання - я не заглиблювався в це.
harrymc

чи можуть сторонні інструменти працювати з ним?
Майкі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.