23

ситуация

Я хотел бы сохранить данные с помощью git, зашифрованные (на некоторых платформах, таких как bitbucket или github). Поэтому вопрос:

Вопрос

Я ищу различные без проблем пути:
Как настроить зашифрованное хранилище на bitbucket(/github)? Теперь я новичок в git, поэтому инструкция со всеми необходимыми шагами или шаг за шагом будет высоко ценится!

"Исследование"

ГИТ-крипта
Я нашел git-crypt, но на сайте упоминается, что он предназначен для шифрования одного файла. Если кто-то хочет зашифровать весь репозиторий, они отправляют git-remote-gcrypt.

ГИТ-дистанционного 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 и примера. До сих пор я пытался протолкнуть существующий репозиторий, следуя их инструкциям. Что приводит к этому: (примечание: я специально изменил имя пользователя на 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 .

1 ответ1

11

Бесплатный инструмент с открытым исходным кодом - Keybase :

Git поддерживает удаленных помощников. И мы сделали с открытым исходным кодом.

Удаленный помощник Keybase выполняет все шифрование, позволяя git делать свое дело. Это может звучать впечатляюще, но Keybase не реализовал Git с нуля. Мы предоставляем удаленного помощника, работающего на основе отличного проекта go-git, которому мы начали содействовать.

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

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

Даже имена ваших репозиториев и филиалов зашифрованы и поэтому не могут быть прочитаны персоналом Keybase или злоумышленниками.

Работа в команде поддерживается с помощью команд Keybase :

Команда Keybase - это именованная группа людей с гибким членством. Допустим, вы работаете над проектом под названием Treehouse. Вы можете зарегистрировать домик на дереве на базе ключей. Это название команды универсально; может быть только одна команда Keybase с данным именем.

Команды получают чаты и каналы. Чат выглядит как Slack или Discord:

Но командная работа Keybase полностью зашифрована, что означает, что вам не нужно беспокоиться о взломах серверов.

Keybase

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .