Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The config file is ambiguous, and keeps getting overwritten when you restart the daemon in Debian, anyway.

In /etc/transmission-daemon/settings.json, there are these options:


Every time I restart the daemon with:

/etc/init.d/transmission-daemon restart

It overwrites rpc-password, and the password it prints doesn't work anyway.

Does anyone know how to set the password properly? I don't want to disable it.

share|improve this question
Just putting this here for anyone who might come across it in the future, but you also have to set rpc-authentication-required to true in the settings file, otherwise Transmission won't check for a password. – robmathers May 6 '15 at 19:53
up vote 83 down vote accepted

Do these things in the exact order:

  1. Shutdown: /etc/init.d/transmission-daemon stop
  2. Write the rpc-password in the /etc/transmission-daemon/settings.json file, in double-quotes.
  3. Save that file
  4. Startup: /etc/init.d/transmission-daemon start
  5. Login to the page, it's at port 9091
  6. Type in your password.

The password that's being overwritten is a hash. The program is smarter than usual and detects that your password is not a hash, so it overwrites the password with the hash to be secure. So your password should work.

However, remember that it writes the password it loaded with when it shuts down. So doing /etc/init.d/transmission-daemon restart will not do what you expect if you've written the file while it's running.

share|improve this answer
+1 I had trouble with that one as well, your solution works fine. Good point about the automatic hashing, I was not aware of that. – Sune Rievers Nov 19 '10 at 16:31
You don't have to stop and restart the daemon. Just /etc/init.d/transmission-daemon reload. – brad Sep 1 '11 at 11:19
At least at the time I wrote the answer, you actually edit the file while it's stopped, because transmission-daemon writes the file on close. – Neil Sep 5 '11 at 6:24
init.d/reload is distro-specific. More generally, you just send a SIGHUP - although this is NOT in the man page, only here: – yardena May 14 '12 at 17:21
Comment from an anonymous user: In my case, there was a script (in /etc/init.d) to launch the daemon that passed it the password: I had to edit that script (named "transmissiond") to change password and so it worked. – terdon Jun 9 '13 at 14:07

You can also try another solution to find the password:

ps -ef | grep transmission

(to my version it was admin:password1)

share|improve this answer
In my ubuntu install at least, the password is set in the file so listing the processes won't tell you what the password is. – Damon Smith Oct 27 '14 at 5:26

Genrally the daemon writes its settings when it exits (or is restarted). You can force the daemon to reload new settings by sending it SIGHUP:

kill -HUP 1234

...then it will not overwrite your settings anymore when stopping.

BTW: I'm not happy that transmission-remote-cli wants to have the password on the command line. Bad idea!

share|improve this answer

While this post already has an accepted answer, I find it worth adding that in Ubuntu the transmission-daemon is actually not stoppable once started.

This means that any changes you do to settings.json will get overwritten on next restart, whenever that is.

This also means that you have to completely disable daemon-startup on boot, reboot, edit your settings.json and then re-enabling it to make the changes you do persist.

Pretty annoying, but once you're aware of what's going on, it's fairly easy to cope.

share|improve this answer
When you say not stoppable, did you try running: "sudo service transmission-daemon stop" ? to stop it in the usual way? That works for me. Then you can edit the settings file and restart it. – Damon Smith Oct 27 '14 at 5:25
-1, This is just plain incorrect. @Neil method works as described and if what you said was true his method would not work. The settings.json file only gets over written if you modify it while transmission is running then restart transmission. – ubiquibacon May 4 '15 at 19:28
If you do what the clear majority of users with a sysv-style init-background does instinctively ( /etc/init.d/transmission restart ) it does indeed not work. If you have to do some weird "service" thing or upstart-thing or another special Ubuntu-ism to make it work, then it by definition doesn't work. – Jostein Kjønigsen May 5 '15 at 10:02
"Doesn't work the way I'm used to" is not the same as "doesn't work". It works. – suriv May 28 '15 at 22:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .