Subject: bug#5434: 23.1; Emacsclient fails with Rejected Authentication Over SSH

From: "Joel J. Adamson" <[email-masked]>
Date: Wed, 20 Jan 2010 16:38:04 -0500

>>>>> "Jan" == Jan Djärv <[email-masked]> writes:

    > Joel J. Adamson skrev 2010-01-20 17.21:
    >> 
    >> Please write in English if possible, because the Emacs
    >> maintainers usually do not have translators to read other
    >> languages for them.
    >> 
    >> Your bug report will be posted to the [email-masked]
    >> mailing list, and to the gnu.emacs.bug news group.
    >> 
    >> Please describe exactly what actions triggered the bug and the
    >> precise symptoms of the bug:
    >> 
    >> Having started an Emacs session on<remote-host> (the machine that
    >> generate this bug report), logging in via ssh and attempting to
    >> bring up an Emacs frame using 'emacsclient -c' on the local
    >> display yields
    >> 
    >> ,---- | *ERROR*: Display localhost:10.0 can't be opened `----
    >> 
    >> From Emacs.
    >> 
    >> ,---- | $ emacsclient -c `----
    >> 
    >> immediately yields
    >> 
    >> ,---- | X11 connection rejected because of wrong authentication.
    >> `----
    >> 
    >> This completely disables X11 forwarding FOR EMACSCLIENT ONLY.
    >> Gnome-terminal still works.  Changing default xauth does not
    >> help.  Deleting ~/.Xauthority on localhost and remote-host does
    >> not affect the problem.
    >> 
    >> Basically emacsclient doesn't work over ssh.  Bummer!

    > I don't understand your setup.  Do you 1) start Emacs as a daemon
    > on host A.  2) you then ssh in to host A and try to do emacsclient
    > -c?

Yes, I start an Emacs session, including (server-start), and then ssh in
to that machine using

$ ssh -CY me@myhost

and enter the emacsclient command.  Is there something unconventional
about this?  I'm running emacsclient remotely; I thought this was the
main reason emacsclient was created (and I've been using it this way for
two years).

    > That won't work if you have ssh X forwarding on, which is what you
    > seem to have.

It worked just fine until I started using Fedora on my server, and it
works from other servers: if I log in to a University server from the
same client and issue the same commands, with X forwarding and so on, I
get a new Emacs window on my local display.

    > The emacs daemon runs on display :0 (or something similar), and
    > emacsclient tries to open your forwarded display, localhost:10,
    > which goes to the host you came from.  This can never work.

Never?  As I said, it worked until I switched the OS on my workstation,
and it works on other machines.

Should I try it without X forwarding?  I must be as confused as you are
because as I said, this worked until my recent changes.  Before I used
Slackware 13.0 with Emacs from CVS (my switch was two months ago).

Thanks,

Joel

-- 
Joel J. Adamson	-- http://www.unc.edu/~adamsonj
Servedio Lab
University of North Carolina at Chapel Hill
CB #3280, Coker Hall
Chapel Hill, NC 27599-3280