git-remote-gcrypt для удаленного общего доступа между двумя хостами, ошибки «секретный ключ недоступен»

267
Congee

Я пытаюсь получить (2-й) простейший вариант использования для git-remote-gcrypt, а именно общий удаленный доступ к ненадежному хранилищу, у которого есть доступ для чтения и записи с двух персональных компьютеров (osx_box, ubuntu_box). Я не знаком с повседневным использованием GPG (хотя понимаю понятия в абстрактных терминах), и я относительно знаком с использованием CLI.

Приведенное ниже пошаговое руководство имело место на машинах без других доступных ключей GPG, так что это не ошибочный идентификатор ключа / опечатка / brainfart.

Я создал ключ GPG с

gpg --full-generate-key 

на каждой машине

осторожно использовать gpg2на ubuntu_box, так как я не уверен в совместимости репозиториев / ключей в разных версиях различий, а gpgверсия ubuntu - 1.6.

Из ubuntu_box я экспортировал ключ с помощью:

gpg2 --armor --export BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0 > 81d0.asc. 

Затем это было скопировано в osx_box и импортировано:

gpg --import 81d0.asc. 

gpg -kна osx_box затем показывает импортируемый ключ с соответствующей (публичной?) подписью ключа, как на ubuntu_box. Woohoo!

Затем я создал локальный репозиторий в osx_box в ~ / testgcrypt / repo_A, добавил несколько файлов, зафиксировал и запустил:

git remote add cryptremote  gcrypt::rsync://ubuntu_box:/home/my_username/testgcrypt/test_repo_A git config remote.cryptremote.gcrypt-participants '842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CC BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0' 

где 842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CC- это отпечаток ключа GPG в osx_box, а BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0также отпечаток ключа GPG в ubuntu_box.

Затем я могу отправить коммит из osx_box на этот пульт как обычно. Я также могу перенестись в другой каталог на osx_box из gcrypt :: rsync: // ubuntu_box: / home / my_username / testgcrypt / test_repo_A. Имеет смысл до сих пор.

Однако, если на ubuntu_box я пытаюсь клонировать gcrypt :: rsync: // ubuntu_box: / home / my_username / testgcrypt / test_repo_A в (извлеченный) репо, я получаю gpg, циклически повторяющий все доступные ключи (только 1!), с последующим:

gpg: расшифровка не удалась: секретный ключ недоступен gcrypt: не удалось расшифровать манифест!

Теперь что дает? (Довольно скудный) gcrypt README просто говорит о добавлении (разделенных пробелами) подписи ключа GPG соавторов [т.е. ubuntu_box] в файл .git / config исходного репозитория на osx_box. Это должно быть размещено под соответствующим пультом, вот что:

git config remote.cryptremote.gcrypt-participants '842E65FCB5AA1C30AEDACFC58A7695DDF9AFA5CC BF5C7A3B72342BD6ADD6AE65864838DEFB0581D0' 

сделал.

AFAIK, git-remote-gcrypt на osx_box должен был увидеть отпечаток ключа ubuntu_box, взять открытый ключ (для подписи? Crypting? Экспорт либо выдает один и тот же файл pubkey) ubuntu_box, сделать что-то волшебное и вытолкнуть зашифрованный текст в ubuntu_box: / главная / my_username / testgcrypt / test_repo_A. Поскольку gcrypt шифрованных данных со знанием ручных волнистым ключа ubuntu_box, мое предположение, что она должна шифрованные данными в манере дешифруемого по ubuntu_box. Но безуспешно ...

РЕДАКТИРОВАТЬ: Кажется, работает, когда я создаю репо на ubuntu_box и клонировать его на osx_box. Но когда я фиксирую дополнительный файл и отправляю его из osx_box, тогда ubuntu_box не может получить эти коммиты, опять же с ошибкой «секретный ключ недоступен» ...

0

0 ответов на вопрос

Похожие вопросы