Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

There are three machines in this scenario:

  • Desktop A : user@1.23.x.x
  • Laptop A : user@1.23.y.y
  • Machine B : user@192.168.z.z

All the machines have Ubuntu 11.04 (Desktop A is a 64bit one) and have both openssh-server and openssh-client.

Now when I try to connect Desktop A to Laptop A or vice-versa by ssh user@1.23.y.y I get an error as

port 22: No route to host

in both the cases.

I own both the machines, now if I try same commands from my friend's machine, i.e. via Desktop B, I can access both my Laptop and Desktop. But if I try to access Desktop B from my Laptop or by Desktop I get

port 22: Connection timed out

I even tried changing ssh port no. in ssh_config file but no success.

Note: that 'Laptop A' uses WiFi connection while 'Machine A' uses Ethernet Connection and 'Machine B' is on an entirely different network.

Laptop A && Desktop A -> Router/Nano_Rcvr provided to me by ISP. So to one Router two Machines are connected and can be accessed at the same time. here is my ifconfig output for both the machines :- Laptop


Link encap:Ethernet  HWaddr X:X:X:X:00:bc  
inet addr:  Bcast:  Mask:
inet6 addr: fe80::219:e3ff:fe04:bc/64 Scope:Link
RX packets:108409 errors:0 dropped:0 overruns:0 frame:0
TX packets:82523 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:44974080 (44.9 MB)  TX bytes:22973031 (22.9 MB)



Link encap:Ethernet  HWaddr X:X:X:X:c5:78  
inet addr:  Bcast:  Mask:
inet6 addr: fe80::227:eff:fe04:c578/64 Scope:Link
RX packets:10380 errors:0 dropped:0 overruns:0 frame:0
TX packets:4509 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:1790366 (1.7 MB)  TX bytes:852877 (852.8 KB)
Interrupt:43 Base address:0x2000 
share|improve this question
This isn't a problem with SSH, it's a problem with your network config. You're looking in the wrong place. No route to host means that your machine can't work out how to route traffic of any kind to the other machine. Look again at the network config, make sure that's in order before you try and fix ssh. – EightBitTony Jul 21 '11 at 10:22
I posted same Q in Stackoverflow and they told me to put it in superuser. If you know how solve this prob can u gimme resources to look for the answer. – Nihar Sawant Jul 21 '11 at 10:34
Okay is machine B on a different Network but is connected to the same router? Im guessing all the IPS are internal not external, What are the actual networks these machines are on as 1.23.x.x isnt a valid internal range so i'm guessing you put that just for this question? It would help to have the actual addresses your using. Ping results etc... – squarebear Jul 21 '11 at 10:52
Your MAC address (Ethernet Media Access Controller hardware address, not Macintosh) is encoded into your statelessly autoconfigured IPv6 link-local address, and the first half of any MAC address is a vendor identifier called an Organizationally Unique Identifier or OUI, that you can look up on the IEEE website. Your desktop's NIC is from Intel or uses an Intel chipset. – Spiff Jul 21 '11 at 18:26
If this is a public wireless router (which it sounds like since they advertise OFDM/MIMO), it is likely configured to prevent peer-to-peer connections on the intranet – ernie Nov 16 '12 at 22:18

These kinds of partial-connectivity problems with wireless involved usually come down to broken multicast handling causing ARPs not to get through reliably.

See the troubleshooting steps I recommended in this Answer: WiFi Network is fine for Macbook Pro and Win XP, but Win Vista "Limited Connectivity"

share|improve this answer
well I can't understand most ;) of the part except WPA/WPA2 one. See my ISP is Tikona Digital Networks. So if some one wants to use WiFi Tikona provides a WiFi Dialer which is available only for Windows. So couple of days ago I figured out how to use WiFi Connection from Ubuntu n I wrote a blog too on it… check it. Tht might help u about understanding my connection. Otherwise I tried changing WPA2 to WEP but its not working. I cant even establish the connection. – Nihar Sawant Jul 21 '11 at 12:35
So you're using a public Wi-Fi hotspot network or something? Or your ISP doesn't let you change the settings of your Wi-Fi router? My Answer assumed you have the ability to reconfigure your own Wi-Fi router. – Spiff Jul 23 '11 at 5:28
@Spiff looks like it's a wireless ISP connection utilizing MIMO, probably similar to what Clearwire used to offer in the US. I'm going to guess their routers prevents peer-to-peer connections. – ernie Nov 16 '12 at 22:21
This is a link-only answer to another Super User answer. – JakeGould Dec 20 '15 at 16:31

It is a bad error message. Those ssh errors can lead you to believe there is a network problem when there is not one. The route to the remote machine may be just fine but iptables blocking ssh back then (and still today on CentOS6.7) would give ssh: connect to host ec239dict port 22: No route to host

If other TCP traffic reliably makes it to the machine, then it is not a network route problem. Besides ssh, what other services have you tried to test connectivity? http? ping? tracepath? A web server would run just fine but ssh does not work.

The following /etc/sysconfig/iptables file is from a CentOS6.7 (December 2015) machine and ssh connection attempts to this machine result in ssh: connect to host ec239dict port 22: No route to host The firewall problem is that line 12 which ACCEPTS incoming ssh connections is never reached because it needs to be moved to before the REJECT at line 10.

 1  # Firewall configuration written by system-config-firewall
 2  # Manual customization of this file is not recommended.
 3  *filter
 4  :INPUT ACCEPT [0:0]
 6  :OUTPUT ACCEPT [0:0]
 8  -A INPUT -p icmp -j ACCEPT
 9  -A INPUT -i lo -j ACCEPT
10  -A INPUT -j **REJECT** --reject-with icmp-host-prohibited
11  -A FORWARD -j **REJECT** --reject-with icmp-host-prohibited
12  -A INPUT -m state --state NEW -m tcp -p tcp -**-dport 22 -j ACCEPT**

Oddly enough, the ssh error messages get worse, if the firewall port is open but the ssh daemon is NOT running, then the error is
ssh: connect to host ec239dict port 22: Connection refused.
"Connection refused" sure sounds like a firewall blocking the connection attempt, but it in fact is the error message when the firewall is open but the ssh daemon is off. Again, there is a bug in the ssh error messages. Make sure the ssh daemon is running:

netstat -tunap | grep 22
chkconfig --list | grep ssh
/etc/init.d/ssh? status

Now in your case, there is most likely a misconfigured hardware or software firewall somewhere along the path.

share|improve this answer
This is not an answer. This is a comment. If you found something helpful to you, then you should just up vote that question or answer. If you want to leave a comment, you should leave a comment. – JakeGould Dec 20 '15 at 16:29
Yes, it is an answer as it was a problem i commonly had on CentOS and Fedora. When ssh reports "no route to host", it was not a network routing problem at all, but often just an incorrectly configured iptables on the remote host rejecting ssh. Had @Nihar-Siwant reported back his iptables, i may have shown him where the port to open ssh was after the reject all like in this post – rjt Dec 20 '15 at 22:28
No this is not an answer. Your supposed answer is just a series of questions that should have been posted as a comment—and you definitely have enough rep to post a comment—and does not include any information on your IPTables ideas/insight and there is utterly no indication the original poster had IPTables—or any firewall—even running on their machine. – JakeGould Dec 20 '15 at 22:37
In 2011, almost all major Linux distributions had iptables on by default. 'iptables -Ln | grep 22' may have something to do with a firewall. – rjt Dec 20 '15 at 23:58
@JakeGould, "Those ssh errors can lead you to believe there is a network problem when there is not one" was the leading sentence in the original answer. – rjt Dec 21 '15 at 0:43

protected by JakeGould Dec 20 '15 at 16:30

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.