¿Cómo se configura una contraseña para el demonio de transmisión, el servidor cliente BitTorrent?

58

El archivo de configuración es ambiguo y, de todos modos, se sobrescribe cuando reinicia el demonio en Debian.

En /etc/transmission-daemon/settings.json, hay estas opciones:

rpc-username
rpc-password
proxy-auth-username
proxy-auth-password

Cada vez que reinicio el demonio con:

/etc/init.d/transmission-daemon restart

Se sobrescribe rpc-password, y la contraseña que imprime no funciona de todos modos.

¿Alguien sabe cómo configurar la contraseña correctamente? No quiero deshabilitarlo.

Neil
fuente
2
Sólo poner esto aquí para cualquier persona que podría venir a través de ella en el futuro, pero también se tiene que fijar rpc-authentication-requireda trueen el archivo de configuración, de lo contrario transmisión no comprobará si hay una contraseña.
Robmathers
Informé este comportamiento porque no es constructivo en bugs.launchpad.net/ubuntu/+source/transmission/+bug/1644091 , pero se ha ignorado como muchos errores de Ubuntu.
Karl Richter

Respuestas:

113

Haga estas cosas en el orden exacto:

  1. Apagado: /etc/init.d/transmission-daemon stop
  2. Escriba el rpc-passworden el /etc/transmission-daemon/settings.jsonarchivo, entre comillas dobles.
  3. Guarda ese archivo
  4. Inicio: /etc/init.d/transmission-daemon start
  5. Inicie sesión en la página, está en el puerto 9091
  6. Escribe tu contraseña.

La contraseña que se sobrescribe es un hash. El programa es más inteligente de lo habitual y detecta que su contraseña no es un hash, por lo que sobrescribe la contraseña con el hash para estar seguro. Entonces su contraseña debería funcionar.

Sin embargo, recuerde que escribe la contraseña que cargó cuando se cierra. Hacerlo /etc/init.d/transmission-daemon restartno hará lo que espera si ha escrito el archivo mientras se está ejecutando.

Neil
fuente
99
No tienes que parar y reiniciar el demonio. Solo /etc/init.d/transmission-daemon reload.
Brad
1
Al menos en el momento en que escribí la respuesta, en realidad editas el archivo mientras está detenido, porque transmisión-demonio escribe el archivo al cerrar.
Neil
1
init.d / reload es específico de la distribución. En términos más generales, solo envía un VISTAZO, aunque esto NO está en la página de manual, solo aquí: trac.transmissionbt.com/wiki/EditConfigFiles
yardena
Comentario de un usuario anónimo: en mi caso, había un script (en /etc/init.d) para iniciar el demonio que le pasó la contraseña: tuve que editar ese script (llamado "transmitido") para cambiar la contraseña y así funcionó.
terdon
Sobrescribir un archivo de configuración de esta manera es inteligente o no, definitivamente es una buena fuente de problemas innecesarios (en comparación con obligar al usuario a escribir hashs en el archivo de configuración y proporcionar comentarios útiles en todos los niveles). Traté de hacer funcionar la transmisión durante algunos años y documenté los intentos. Por lo general, otros campos también se sobrescriben. Archivé algunos errores al respecto que han sido ignorados.
Karl Richter
2

También puede probar otra solución para encontrar la contraseña:

ps -ef | grep transmission

(para mi versión era admin: contraseña1)

fénix
fuente
2
Al menos en mi instalación de ubuntu, la contraseña se establece en el archivo, por lo que enumerar los procesos no le dirá cuál es la contraseña.
Damon Smith
2

Generalmente, el demonio escribe su configuración cuando sale (o se reinicia). Puedes forzar al demonio a recargar nuevas configuraciones enviándole SIGHUP:

kill -HUP 1234

... entonces ya no sobrescribirá su configuración cuando se detenga.

Por cierto: no estoy contento de que la transmisión-remota-cli quiera tener la contraseña en la línea de comando. ¡Mala idea!

jm73
fuente
1

Si bien esta publicación ya tiene una respuesta aceptada, creo que vale la pena agregar que en Ubuntu el demonio de transmisión no se puede detener una vez que se inicia.

Esto significa que cualquier cambio que realice en settings.json se sobrescribirá en el próximo reinicio, siempre que sea así.

Esto también significa que tiene que deshabilitar por completo el inicio del demonio en el arranque , reiniciar, editar su settings.json y luego volver a habilitarlo para que los cambios persistan.

Bastante molesto, pero una vez que te das cuenta de lo que está sucediendo, es bastante fácil de manejar.

Jostein Kjønigsen
fuente
44
Cuando dice que no se puede detener, ¿intentó ejecutar: "sudo service transmission-daemon stop"? para detenerlo de la manera habitual? Funciona para mi. Luego puede editar el archivo de configuración y reiniciarlo.
Damon Smith
1
-1, esto es simplemente incorrecto. El método @Neil funciona como se describe y si lo que dijiste es cierto, su método no funcionaría. El archivo settings.json solo se sobrescribe si lo modifica mientras la transmisión se está ejecutando y luego reinicia la transmisión.
ubiquibacon
Si hace lo que la mayoría de los usuarios con un fondo de inicio de estilo sysv hace instintivamente ( /etc/init.d/transmission restart), de hecho no funciona. Si tiene que hacer algo extraño de "servicio" o algo nuevo u otro Ubuntu-ism especial para que funcione, entonces, por definición, no funciona.
Jostein Kjønigsen
2
"No funciona como estoy acostumbrado" no es lo mismo que "no funciona". Funciona.
suriv