Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
git-remote-gcrypt — Asistente remoto de Git para operaciones push/pull cifradas con PGP de forma transparente, compatible con backends local, rsync, SFTP y git, con claves de participante configurables. | Kitploit
Herramientas/GitHubGitHub/spwhitton/git-remote-gcrypt
Herramientas de Cifrado/DescifradoCriptografíaUtilidades y Frameworks
GitHubspwhitton/git-remote-gcrypt

git-remote-gcrypt

Asistente remoto de Git para operaciones push/pull cifradas con PGP de forma transparente, compatible con backends local, rsync, SFTP y git, con claves de participante configurables.

Ver RepositorioSitio web
97911518hace 2 mesesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

================= git-remote-gcrypt


Repositorio git remoto cifrado con GNU Privacy Guard

:Sección del manual: 1

Descripción

git-remote-gcrypt es un ayudante de remoto git para enviar y recibir desde repositorios cifrados con GnuPG, utilizando un formato personalizado. Este ayudante de remoto maneja URIs con prefijo gcrypt::.

Los backends compatibles son local, rsync:// y sftp://, donde el repositorio se almacena como un conjunto de archivos, o cualquier <giturl> donde gcrypt almacenará la misma representación en un repositorio git, puenteado a través de un transporte git arbitrario. Prefiera local o rsync:// si puede usar alguno de ellos; consulte "Rendimiento" más abajo para discusión.

También hay un backend rclone:// experimental solo para primeros adoptantes (ya está advertido).

El objetivo es proporcionar almacenamiento git confidencial y autenticado y colaboración utilizando servicios o alojamientos de archivos no confiables típicos.

Instalación ............

  • utilice el gestor de paquetes de su distribución GNU/Linux -- Debian, Ubuntu, Fedora, Arch y algunas distros más pequeñas tienen paquetes conocidos

  • ejecute el script install.sh proporcionado en otros sistemas

Inicio rápido ..........

Cree un remoto cifrado enviando a él::

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

Configuración

Se admiten las siguientes variables de git-config(1):

remote.<name>.gcrypt-participants .. gcrypt.participants Lista separada por espacios de identificadores de clave GPG. El remoto se cifra para estos participantes y solo se aceptan firmas de ellos. gpg -k lista todas las claves públicas que conoce.

Si no se establece esta opción, se cifra para su clave predeterminada y se acepta
cualquier firma válida. Este comportamiento también se puede solicitar explícitamente
estableciendo participantes en ``simple``.

La configuración ``gcrypt-participants`` en el remoto tiene prioridad
sobre la variable del repositorio ``gcrypt.participants``.

remote.<name>.gcrypt-publish-participants .. gcrypt.publish-participants Por defecto, los ids de las claves gpg de los participantes se ocultan cifrando usando gpg -R. Establecer esta opción a true deshabilita esa medida de seguridad.

El problema de usar ``gpg -R`` es que para descifrar, gpg prueba cada
clave secreta disponible por turno hasta encontrar una clave utilizable.
Esto puede resultar en solicitudes de frase de contraseña innecesarias.

gcrypt.gpg-args El contenido de esta configuración se pasa como argumentos a gpg. Ej.: --use-agent.

remote.<name>.gcrypt-signingkey .. user.signingkey (Este último de la configuración regular de git) La clave a usar para firmar. Debe establecer user.signingkey si su clave de firma predeterminada no está en la lista de participantes. Puede usar la versión por remoto para firmar diferentes remotos usando diferentes claves.

remote.<name>.gcrypt-rsync-put-flags .. gcrypt.rsync-put-flags Banderas a pasar a rsync al subir a un remoto usando el backend rsync://. Si las banderas se establecen para un remoto específico, las banderas globales, si también están establecidas, no se aplicarán para ese remoto.

remote.<name>.gcrypt-require-explicit-force-push .. gcrypt.require-explicit-force-push Un error de larga data es que cada git push efectivamente tiene un --force.

Si esta bandera se establece en ``true``, git-remote-gcrypt se negará a hacer push,
a menos que se pase ``--force``, o las refspecs tengan prefijo ``+``.

Hay una solución potencial aquí: https://bugs.debian.org/877464#32

Variables de entorno

GCRYPT_FULL_REPACK Cuando se establece (a cualquier cosa que no sea la cadena vacía), esta variable de entorno fuerza un reempaquetado completo al hacer push.

Ejemplos

Cómo configurar un remoto para dos participantes::

git remote add cryptremote gcrypt::rsync://example.com/repo
git config remote.cryptremote.gcrypt-participants "KEY1 KEY2"
git push cryptremote master

Cómo usar un backend git::

# note que el repositorio git de destino ya debe existir y su
# rama `next` será sobrescrita.
git remote add gitcrypt gcrypt::[email protected]:repo#next
git push gitcrypt master

El fragmento de URL (#next aquí) indica qué rama del backend se utiliza.

Notas

Colaboración El cifrado del manifiesto se actualiza en cada push para coincidir con la configuración de participantes. Cada usuario que hace push debe tener las claves públicas de todos los colaboradores y la configuración de participantes correcta.

Dependencias rsync, curl y rclone para los remotos rsync:, sftp: y rclone: respectivamente. El ejecutable principal requiere un shell compatible con POSIX que soporte local.

GNU Privacy Guard Se admiten tanto GPG 1.4 como 2. Necesita una clave GPG personal. La configuración de GPG se aplica a las elecciones de algoritmo para cifrado de clave pública, cifrado simétrico y firma. Consulte man gpg para más información.

ID remoto El ID remoto no es secreto; solo asegura que dos repositorios firmados por el mismo usuario puedan distinguirse. Verá una advertencia si el ID remoto cambia, lo que solo debería suceder si el remoto fue recreado.

Rendimiento Utilizar cualquier <giturl> o una URI sftp:// requiere subir todo el historial del repositorio con cada push. Esto significa que los pushes de su repositorio se vuelven más lentos con el tiempo, a medida que su historial git se alarga, y fácilmente puede llegar al punto en que el uso continuado de git-remote-gcrypt sea impracticable.

Por lo tanto, debe usar estos backends solo cuando sepa que su
repositorio nunca crecerá mucho, no solo que no es grande ahora.
Esto significa que estos backends son inapropiados para la mayoría
de los repositorios, y probablemente adecuados solo para casos
inusuales, como pequeños almacenes de credenciales. Incluso entonces, use `rsync://`
si puede. Sin embargo, tenga en cuenta que `rsync://` no funcionará con un
servicio de alojamiento de repositorios como Gitolite, GitHub o GitLab.

URIs rsync El formato de URI para el backend rsync es rsync://user@host/path, que se traduce a la ubicación rsync user@host:/path, accedida a través de ssh. Tenga en cuenta que la ruta es absoluta, no relativa al directorio home. También se admite un formato de URI anterior no estándar: rsync://user@host:path, que se traduce a la ubicación rsync user@host:path

Backend rclone Además de agregar el backend rclone como remoto con URI como gcrypt::rclone://remote:subdir, debe agregar el remoto a la configuración de rclone también. Esto se hace típicamente ejecutando rclone config. Consulte rclone(1).

El backend rclone se considera experimental y es solo para
primeros adoptantes. Ya está advertido.

Formato del repositorio .....................

Descargar herramienta