Me preguntaba si hay alguna forma de guardar mi contraseña de Subversion al realizar svn
operaciones desde la consola. La consola es la única opción que tengo. Cuando intento realizar cualquier acción de Subversion, por ejemplo svn commit
, me solicita la contraseña de la cuenta cada vez. ¿Hay alguna forma de guardar esta contraseña de alguna manera para no tener que volver a escribirla cada vez?
106
Respuestas:
En
~/.subversion/config
, probablemente lo hayas hechostore-passwords = no
. Cámbielo ayes
(o simplemente coméntelo porque el valor predeterminado es sí), y la próxima vez que le dé a Subversion su contraseña, debería guardarla.Es posible que desee asegurarse de que el propietario y los permisos de
~/.subversion/config
sean correctos (sin acceso público o de grupo; 600).fuente
Red Hat Linux 2.6.18
. ¿Alguna idea de dónde podría estar?/etc/subversion/config
sistema de archivos , funciona como se esperaba. Graciasstore-passwords
opción enconfig
ahora está obsoleta, de acuerdo con algunos comentarios predeterminados que encontré en miconfig
archivo; ha sido reemplazada por la misma opción enservers
.)Depende del protocolo que estés usando. Si está utilizando SVN + SSH, el cliente SVN no puede guardar su contraseña porque nunca la toca; el cliente SSH se la solicita directamente. En este caso, puede usar una clave SSH y ssh-agent para evitar los avisos constantes. Si está utilizando el protocolo svnserve o HTTP (S), entonces el cliente SSH está manejando su contraseña y puede guardarla.
fuente
.ssh/config
, agregar la clave pública al servidor SVN.Intente borrar su
.subversion
carpeta en su directorio de inicio e intente confirmar nuevamente. Debería pedirle su contraseña y luego preguntarle si desea guardar la contraseña.fuente
Tuve que editar
~/.subversion/servers
. Configuréstore-plaintext-passwords = yes
(no era antes). Eso hizo el truco. Sin embargo, podría considerarse inseguro.fuente
store-passwords = yes
. Creo que se configuró antes, pero no se configuró cuando actualicé a SVN 1.7Tenga en cuenta el siguiente párrafo del
~/.subversion/servers
archivo:Es al menos para la versión 1.6.12 de SVN. Por lo tanto, tenga en cuenta que debe editar el archivo de servidores también, ya que anula
~/.subversion/config
.fuente
Si usa svn + ssh , puede copiar su clave ssh pública a la máquina remota:
fuente
Para mí (usuario de Mac) el problema era que el llavero ya tenía una entrada almacenada para mis credenciales, pero los derechos de acceso no eran correctos.
Eliminar la entrada en la aplicación del llavero y luego recrearla usando svn solucionó el problema.
fuente
Ninguna de estas maravillosas respuestas me funcionó en una instalación nueva de Ubuntu. En cambio, una pista de esta respuesta me sirvió.
Tuve que permitir el almacenamiento de contraseñas "simple" configurando este vacío en
~/.subversion/config
:No había ninguna configuración existente, por lo que estar vacío es significativo.
Esto fue además de:
en
~/.subversion/servers
.fuente
Es posible que usar texto sin formato no sea la mejor opción, si la contraseña se usa alguna vez como otra cosa.
Apoyo la respuesta aceptada, pero no funcionó para mí, por una razón muy específica: quería usar
kwallet
ognome-keyring
almacenes de contraseñas. Intenté cambiar la configuración, en los cuatro archivos:Incluso después de que todo se configuró de la misma manera, con
password-stores
un nombre de KWallet (el valor predeterminado puede ser incorrecto, ¿verdad?) No funcionó y siguió pidiendo la contraseña para siempre. Los archivos en~/.subversion
tenían permisos 600.Bueno, en ese punto, puede intentar verificar una cosa simple:
Si lo consigues:
entonces puede sospechar con gran probabilidad que este cliente fue construido desde la fuente, localmente, por su administrador (que puede ser usted mismo, como en mi caso).
Subversion es una bestia desagradable de compilar , muy fácil de construir accidentalmente sin soporte HTTP o, como en mi ejemplo, sin soporte para almacenes de contraseñas cifradas (necesita archivos de desarrollo Gnome o KDE, ¡y muchos de ellos!). Pero el
./configure
script no le dirá eso y obtendrá unsvn
comando menos funcional .En ese caso, puede volver al cliente, que vino con su distribución, generalmente en formato
/usr/bin/svn
. La desventaja es que probablemente deba volver a verificar las copias de trabajo, ya que no hay ningúnsvn downgrade
comando. Puede consultar a Linus Torvalds sobre qué pensar sobre Subversion, de todos modos;)fuente
Para agregar a la respuesta de Heath: parece que Subversion 1.6 deshabilitó el almacenamiento de contraseñas de forma predeterminada si no puede almacenarlas en forma cifrada. Puede permitir el almacenamiento de contraseñas no cifradas estableciendo explícitamente
password-stores =
(es decir, en el valor vacío) en~/.subversion/config
.Para comprobar qué tienda de contraseñas usa Subversion, busque en
~/.subversion/auth/svn.simple
. Contiene varios archivos, cada uno de los cuales es una tabla hash con una codificación de clave / valor simple. Elsvn:realmstring
en cada archivo identifica para qué reino es ese archivo. Si el archivo tieneluego almacena la contraseña en texto plano en algún lugar de ese archivo, en una
K 8 password
entrada. De lo contrario, intenta utilizar uno de los archivospassword-stores
.fuente
Todos los métodos mencionados aquí no me funcionan. Construí Subversion desde la fuente y descubrí que debo ejecutar configure con
--enable-plaintext-password-storage
para admitir esta función.fuente
Solo para enfatizar lo que dijeron Tomasz Gandor y Domain sobre tener la versión correcta de svn y que se compiló para permitir el almacenamiento de contraseñas de texto sin formato, debe verificar lo que tiene:
Versus:
Una vez que vea que su versión de svn se habilitó para el almacenamiento de contraseña de texto sin formato, aplique el resto de las respuestas aquí.
fuente
Estoy usando el cliente TortoiseSVN en Windows y, para mí, configurar el parámetro store-passwords como sí en
%USERPROFILE%\AppData\Roaming\Subversion\config
no ayuda a almacenar la contraseña.La contraseña se guardó correctamente después de eliminar esta carpeta (por si acaso se cambia el nombre):
Ambiente:
fuente
Desafortunadamente, las respuestas no resolvieron el problema de solicitar la contraseña para ssh + svn con una clave privada protegida. Después de investigar un poco, encontré:
utilidad si tiene una computadora con Linux. Asegúrese de tener sus claves almacenadas
/home/username/.ssh/
y escriba este comando en la Terminal.fuente