8

I'm trying to follow this guide to run a deluge daemon on a headless server. The client part seems to be working, but the server part doesn't seem to work at all.

Deluge-console is supposed to allow you to send commands to the daemon in a text-only environment. However I can't get it to connect to itself. Whenever I start it, it says Failed to connect to 127.0.0.1:58846 with reason: Password does not match. If I try a command like deluge-console "config -s allow_remote True", I get an error dump like this:

[ERROR   ] 03:21:31 client:391 RPCError Message Received!
--------------------------------------------------------------------------------
RPCRequest: daemon.login(localclient, <a long string>)
--------------------------------------------------------------------------------
  File "/usr/lib/python2.7/dist-packages/deluge/core/rpcserver.py", line 259, in dispatch
    ret = component.get("AuthManager").authorize(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/deluge/core/authmanager.py", line 93, in authorize
    raise BadLoginError("Password does not match")

BadLoginError: Password does not match
--------------------------------------------------------------------------------
Failed to connect to 127.0.0.1:58846 with reason: Password does not match

~/.config/deluge/auth looks like this:

localclient:<a long string>:10

where appears identically in both files. So I'm pretty sure it's not that the auth file is wrong. I notice that when I start the deluge daemon, htop tells me the processes associated with deluged belong to my deluge user. this guide has you create the user "deluge" for running deluge. Should I run deluge as myself, instead?

Ultimately, what am I missing?

4 Answers 4

11

It turns out the fact that it was running as a user called "deluge" is significant. The guide had me set deluge's home directory to /var/lib/deluge, where there was a second configuration directory - the one which was actually read by the daemon. When I used the password for localclient from that auth, instead of the previous <a long string>, I was able to use deluge-console as expected. I was able to complete the guide and give myself remote access by modifying that auth file and ignoring the one in my home directory.

4
  • 2
    I don't know why someone downvoted you. Your answer is totally correct, especially if you used a guide to make a deluged user. If you did, double check the deluge user's home directory and the correct /.config/deluge/auth file is loaded from there. Thank you!!! Saved me from a huge headache. Jan 2, 2015 at 0:31
  • so I guess in the past I was running it as my user and now it's running as deluge user, so I should migrate the config files to that account? or should I modify the instructions to run as my user instead?
    – endolith
    Feb 5, 2016 at 0:25
  • 1
    Move ~/.config/deluge/auth to /var/lib/deluge/auth if you use /var/lib/deluge as home folder. Feb 10, 2016 at 16:13
  • 1
    Took me over an hour to find this answer, but this is why none of the changes to my auth file were working. It wasn't looking in the right place. You can find the file easily by running find / -name "auth"
    – degenerate
    May 19, 2016 at 3:14
4

I would leave a comment to Adam's answer, but I don't have the reputation to do that. Adam's answer worked for me, but I thought it would be helpful to be a little more explicit about the steps necessary to fix this problem.

  1. Open /var/lib/deluge/.config/deluge/auth in a text editor.
  2. Copy the password found there.
  3. Open ~/.config/deluge/auth in a text editor.
  4. Paste the password from the other auth file here.

Worked for me -- now I can use the GTK UI and the console client.

0

Open an edit '/etc/init.d/deluged' and append to variable DAEMON_ARGS, '... -i ifacename', restart PC and it should work. I was having same issue as described here, this cleared it up for me on XUbuntu GNU/Linux headless.

0

For those having issues with the deluge-console, it seems you need to login every time you want to hit up the console.

For example:

deluge-console "connect localhost (user) (pass); config -s allow_remote True"

That seemed to work for me, ensuring that the user exists in the auth file in the deluged config directory format (user:pass:level) eg: (imnx:yourmum01.:10).

You must log in to answer this question.

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