tag repositorio remove qué que oneline log hace git bash security github passwords

remove - que es un repositorio git



¿Cuál es la mejor práctica para tratar contraseñas en repositorios git? (5)

Lo que dijo Greg, pero agregaría que es una buena idea verificar el archivo foobar.config-TEMPLATE .

Debe contener nombres de ejemplo, contraseñas u otra información de configuración. Entonces, es muy obvio lo que debe contener el verdadero foobar.config, sin tener que buscar en todo el código cuyos valores deben estar presentes en foobar.config y qué formato deberían tener.

A menudo, los valores de configuración pueden no ser obvios, como las cadenas de conexión de la base de datos y cosas similares.

Tengo un pequeño script de Bash que uso para acceder a Twitter y mostrar una notificación de Growl en ciertas situaciones. ¿Cuál es la mejor manera de gestionar el almacenamiento de mi contraseña con el script?

Me gustaría enviar este script al repositorio de git y ponerlo a disposición en GitHub, pero me pregunto cuál es la mejor manera de mantener mi nombre de usuario / contraseña en privado mientras hago esto. Actualmente, la contraseña se almacena en el script en sí. No puedo eliminarlo justo antes de presionar porque todas las confirmaciones anteriores contendrán la contraseña. Desarrollar sin la contraseña no es una opción. Me imagino que debería guardar la contraseña en un archivo de configuración externo, pero pensé que verificaría si había una forma establecida de manejar esto antes de intentar y poner algo en común.


Si usa Ruby on Rails, la gema Figaro es muy buena, fácil y confiable. Tiene un bajo factor de dolor de cabeza con el entorno de producción también.


Un enfoque puede ser establecer una contraseña (o clave API) usando una variable de entorno. Entonces esta contraseña está fuera del control de revisión.

Con Bash, puede establecer la variable de entorno usando

export YOUR_ENV_VARIABLE=your_password

Este enfoque se puede usar con servicios de integración continua como Travis , su código (sin contraseña) almacenado en un repositorio de GitHub puede ser ejecutado por Travis (con su contraseña configurada mediante la variable de entorno).

Con Bash, puede obtener el valor de una variable de entorno usando:

echo $YOUR_ENV_VARIABLE

Con Python, puede obtener el valor de una variable de entorno usando:

import os print os.environ[''YOUR_ENV_VARIABLE'']

PD: tenga en cuenta que probablemente sea un poco arriesgado (pero es una práctica bastante común) https://www.bleepingcomputer.com/news/security/javascript-packages-caught-stealing-environment-variables/

PS2: este artículo titulado "Cómo almacenar de forma segura las claves de API" https://dev.to/bpedro/how-to-securely-store-api-keys-ab6 puede ser interesante para leer


Uno puede usar Vault que asegura, almacena y controla el acceso a tokens, contraseñas, certificados, claves API, etc. Por ejemplo, Ansible usa Ansible Vault que trata con contraseñas o certificados usados ​​en libros de jugadas


La forma típica de hacerlo es leer la información de contraseña de un archivo de configuración. Si su archivo de configuración se llama foobar.config , entonces debe enviar un archivo llamado foobar.config.example al repositorio, que contiene datos de muestra. Para ejecutar su programa, debería crear un archivo local (no rastreado) llamado foobar.config con sus datos de contraseña reales .

Para filtrar su contraseña existente de confirmaciones anteriores, consulte la página de ayuda de GitHub sobre cómo eliminar datos confidenciales .