On Sun, Oct 29, 2000 at 10:48:06PM +0000, David Pick wrote:
>
> <snip>
>
> > to force X forwarding on; also check both the client and server config
> > > files.
> >
> > xhost allows server in.
>
> Ouch! "xhost" is only exceeded as a spawn-of-the-devil by Windoze!
Ok, that's another reason I'd like to get ssh working. :-)
>
> > In the server's config (/etc/ssh/sshd_config), I
> > have:
> >
> > X11Forwarding yes
> > X11DisplayOffset 10
> >
> > In the client config (/etc/ssh/ssh_config), I have:
> >
> > Host *
> > ForwardAgent no
> > ForwardX11 no
> > FallBackToRsh no
> >
> > Host server
> > ForwardAgent yes
> > ForwardX11 yes
>
> Ah: this is it. the search stops on the first match, so "ForwardX11" is
> taken to be "no" because "*" matches and is before "server". (RTFM ;-)
Got that fixed. Oddly enough, it did not work until I restarted sshd on
"server".
>
> > OK, how do I find out where it is listening? /etc/services has:
> >
> > # xdmcp 177/tcp # X Display Mgr. Control Proto
> > # xdmcp 177/udp
> >
> > and nothing I can detect on a simple text search ("60") in the 6000 on up
> > area.
>
> "xdmcp" is a protocol used for X terminals to get a "login" window from a
> (normally) multi-user server. It's the X server (running on the terminal)
> that normally listens on port 6000. It's normally "xdm" that listens on
> port 177.
So it is irrelevant for ssh?
>
> So, given the way "ssh" works, when it accepts a connection from a client,
> *when the forwarding is turned on in the config files*, the "sshd" server
> will pick the first free port starting at port number 6000 + "X11DisplayOffset"
> and start listening, simulating a *local* display on "server". Any X client
> programs that attempt to connect to "server:10.0" will find that port and
> the data will be forwarded down the SSH tunnel to the real display.
Intersting. Except when I set the offset to 10, the display variable was
still showing server:0.0 until I found an offending line in /etc/bashrc,
at your suggestion (below).
>
> So look at the ports listening ("netstat -an") when a SSH connection is
> open and the config file has the correct order (or the "-X" is used").
>
> > >
> > > > Question: do I have to have a working X server on server for X forwarding
> > > > to work?
> > >
> > > No. And if you don't, display 0 should work OK for a forwarded
> > > connection.
As is seems to be doing.
> >
> > BINGO! I set
> >
> > X11DisplayOffset 0
> >
> > for the server, and I can run "ssh -X -f server emacs" sucessfully. But:
> > "ssh -f server emacs" fails. As does "ssh server emacs". (And ssh never
> > forks into the background.)
>
> The "-X" flag overrides config file setting, so it should work. The
> failures are explained by the order problem in the client config file.
>
> Now, I suspect we have another problem because it should work with
> "X11DisplayOffset" set to "10". I wonder if someting is modifying
> the "DISPLAY" variable on "server" spmewhere in a login script.
It is being set to 0. I found an offending line in /etc/bashrc, and
commented that out. Oddly enough, I also had to restart sshd after
removing the line.
>
> > Now, with this at least partially working, I still have some questions:
> >
> > 1) Should I leave the "X11DisplayOffset" value alone on server. It will
> > never have a X server of its own, so this is fine. Is this the
> > appropriate setting for a computer with no X server? But suppose later
> > on I want to use ssh on another machine which does have an X server?
> > Should I set that machine's "X11DisplayOffset" to 0 also, or leave it
> > at 10?
>
> Shouldn't really matter - not if it was working properly; although not
> using "0" does help imply to human users that it's *probably* not a real
> X display. Having the offset does keep SSH sessions clear of any (other)
> late-starting X servers or X server simulators like VNC.
OK, I'll leave it at 10.
>
> > 2) Assuming we get this working, is it a candidate for the FAQ?
> >
> > 3) When I shut down the tunneled emacs, I get:
> >
> > root@charlesc # ssh -X server emacs
> > root@server's password:
> > channel 1: chan_shutdown_read: shutdown() failed for fd8 [i1 o128]: Transport
>endpoint is not connected
> > Connection to server closed by remote host.
> >
> > Is this OK? It looks like a typical abrupt shutdown to my inexpert eyes.
>
> Not normal. I'm not sure what's going on here. I've not seen it before.
OK. It may not be specific to emacs, as I get the same thing with xpat2, a
very important program. :-)
>
> > > > I do not have one on server because it is a 486, with limited
> > > > RAM, which I intend to use as a firewall and I have no reason to want an X
> > > > server. I intend to do all of my X displaying for server (mostly emacs and
> > > > Red Hat config tools) on charlesc.
> > >
> > > I do *exactly* what you're trying to do with a firewall myself. Except it's
> > > FreeBSD instead of Linux.
> >
> > Ah. And does the firewall have an X server? And what is the value of its
> > "X11DisplayOffset"?
>
> No, it doesn't. And I leave it at the default "10".
I will also.
--
-- C^2
No windows were crashed in the making of this email.
Looking for fine software and/or web pages?
http://w3.trib.com/~ccurley
PGP signature