* Philippe Sismondi [2010-12-29 06:09] writes:
Greetings. I am attempting to connect from aquamacs emacs + slime on my Mac to a remote lisp on Ubuntu 10.10. These machines are both on my LAN.
On the Mac I am using ccl 1.6 64-bit, with the slime/swank provided by aquamacs as of yesterday. This is described on the aquamacs site as Aquamacs-slime-2010-12-28.pkg.tgz.
On Ubuntu 10.10 I am using ccl 1.7 32-bit, with yesterday's FAIRLY-STABLE slime/swank.
Some day I have to update the FAIRLY-STABLE tag. Please use HEAD in the meantime.
I followed the instructions in the slime manual to connect locally on both machines. That is, I can start ccl in a terminal, fire up a swank server, and then connect from emacs/aquamacs by means of M-x slime-connect to the server on the same machine.
On Ubuntu, I have an ssh server running. I can log in from the Mac to Ubuntu over ssh with no problems.
In a terminal on my Mac I do the incantation suggested in the slime manual p.26, i.e.
ssh -L4005:127.0.0.1:4005 david@10.0.1.6
The result of keying in the above is that I get a prompt for a password, and an apparently successful connection to the Ubuntu machine. It does open up a "visible" ssh session, i.e. I see an ubuntu prompt in my Mac terminal. It looks just like a regular ssh login; I don't know if that is what is expected.
Yes, this is expected. You can see a little more what's going with the -v flag: ssh -v -L4005:127.0.0.1:4005 david@10.0.1.6
Also typing "~#" resp. "~?" is useful for debugging.
However, when I then do M-x slime-connect in aquamacs and connect to 127.0.0.1 port 4005 I get this message in aquamacs:
Lisp connection closed unexpectedly: connection broken by remote peer.
And in the ssh terminal session on the Mac to Ubuntu I see this:
channel 3: open failed: connect failed: Connection refused
This usually means that Swank is not listening on the remote machine (Ubuntu).
On Linux, the command: netstat -tlp will list the open ports and there should be a line like:
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 localhost:4005 *:* LISTEN 12522/ccl
If netstat is not available you can also use: telnet 127.0.0.1 4005 to see if you can connect.
I know *nothing* about ssh, or for that matter networking generally. For example, I have no idea why we need to "fool" emacs into thinking it is talking to 127.0.0.1.
This is just a security measure. Swank only listens for connections from the local machine an not from the whole internet. You could change that but the ssh approach works pretty well usually.
However, this appears to me to be an ssh problem, as a wild guess.
Any suggestions? Does the failure to connect have anything to do with ccl/ swank/slime, or do I have some ssh pondering to do?
More likely an ssh problem.
If I should be attaching some kind of log or other info that I do not know about, please let me know.
If you can't figure out the problem, show us the output of ssh -v and netstat.
Helmut