Исходя из этого вопроса:шифруйте файлы перед отправкой в облако.
Рассматривая openssl: Например, при использовании openssl мы можем записать файлы fooenc.sh
:
#!/bin/sh
openssl enc -bf -nopad -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T
и foodec.sh
:
#!/bin/sh
openssl enc -bf -nopad -d -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T
В файле .git/config
в вашем хранилище вы должны указать эти фильтры;
[filter "crypt"]
clean = fooenc.sh
smudge = foodec.sh
Я попробовал этот подход, и это произошло со мной:
error: cannot run fooenc.sh: No such file or directory
error: cannot fork to run external filter ourenc.sh
error: external filter fooenc.sh failed
Где я должен положить этот * .sh?
Даже если я попытаюсь поставить
[filter "crypt"]
clean = openssl enc -bf -nopad -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T
smudge = openssl enc -bf -nopad -d -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T
даже думал, что это произошло со мной
bad decrypt
3074115260:error:0607F08A:digital envelope routines:EVP_EncryptFinal_ex:data not multiple of block length:evp_enc.c:414:
error: external filter openssl enc -bf -nopad -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T failed 1
error: external filter openssl enc -bf -nopad -pass pass:1KjeHD8d6YUI80bIIEAQ9iYr@njqLw3T failed
Были приняты другие подходы, такие как git-remote-encrypt или другой, использующий GnuPG:
В .git/info/attributes
использовании атрибутов :
myPrivateInfosFile filter=gpg diff=gpg
В вашем репозитории .git/config
файл:
[filter "gpg"]
smudge = gpg -d -q --batch --no-tty
clean = gpg -ea -q --batch --no-tty -r C920A124
[diff "gpg"]
textconv = decrypt
Наконец, используя подход git-remote- encrypt, я понял:
gcrypt: Remote ID is :id:k/a9sdsd332e3442wdaJ
Counting objects: 102, done.
Compressing objects: 100% (71/71), done.
Total 102 (delta 8), reused 0 (delta 0)
gcrypt: Encrypting to: --throw-keyids --default-recipient-self
gcrypt: Requesting manifest signature
gpg: no default secret key: secret key not available
gpg: [stdin]: sign+encrypt failed: secret key not available
error: failed to push some refs to 'gcrypt::rsync:https://example@bitbucket.org/ourstuffteam/our.git'
Ничто из этого не было успешным подходом.
** По этим или другим новым подходам. Как я могу более правильно зашифровать данные в git в bitbucket?**