4

I recently became interested in SSH, and so I attempted to set up a SSH server on my Linux laptop. I am running moonOS, a version of Ubuntu with the Enlightenment WM.

First of all I ran "sudo apt-get install openssh-server". All fine. Now I looked at the settings for my router, and though I saw no settings explicitly called "port forwarding", there was a checkbox to enable SSH. I checked this box and set the port to 22. After this I tried "ssh localhost", and it connected fine.

Now I checked my IP address using www.whatismyip.com, then ran PuTTY on my WinXP laptop, entering the IP address, the port, selecting SSH, etc. Then PuTTY complained that "the connection was refused". Okay. I booted a Jolicloud LiveUSB on my netbook and ran "ssh [my user name]@[my IP address]". Again, the connection was refused.

So off I ran to the internet and looked up the documentation for OpenSSH. In a wild guess, I tried running "sshd" on the moonOS laptop, but it just replied, "sshd re-exec requires execution with an absolute path".

Some help? I have no idea what I'm doing wrong here.

4 Answers4

8

sshd re-exec requires execution with an absolute path"

For that part, run it with a full path, for example

/usr/sbin/sshd

instead of just sshd

1

What type of router do you have? It would appear that you enabled SSH for your router, as opposed to forwarding port 22 to point to your laptop.

You need to forward TCP port 22's traffic to your laptop's IP.

Phanto
  • 1,504
  • 3
  • 14
  • 17
1

Something that you should be aware of, is that for some reason many routers won't allow you to loop out and back to an internal address.

What this means is that if both computers are on the same network, you may not be able to ssh to your public IP address, and have the port forwarded to an internal IP.

I don't really know much about this, but I encountered this issue last week, and had to perform testing on a computer outside of my local network for success.

JT.WK
  • 1,971
0

Extremely old thread but I want to chip in a really elegant answer.

sshd is in your $PATH already, so here's a quick way to re-exec it.

$ `which sshd`

Why does this work? Backticks substitute the output of which, and the output is the absolute path of sshd.