- Ошибка соединения SSH: нет маршрута к хосту
- How to Fix “No route to host” SSH Error in Linux
- If You Appreciate What We Do Here On TecMint, You Should Consider:
- «Destination Host Unreachable» and ssh » No route to host»
- ♌ Как исправить ошибку SSH «No route to host» в Linux
- How to Fix “No Route to Host” Connection Error on Linux
- Why Am I Getting the “No Route to Host” error?
- Host Is Offline/Service Isn’t Running
- Wrong Port
- Iptables Is Blocking the Connection
- Your DNS Is Improperly Configured
- The GUI Way
- Incorrect Network or Host Configuration
Ошибка соединения SSH: нет маршрута к хосту
В этом сценарии есть три машины:
- Рабочий стол A: user@1.23.xx
- Ноутбук A: user@1.23.yy
- Машина B: user@192.168.zz
Все машины имеют Ubuntu 11.04 (рабочий стол A является 64-битным) и имеют как openssh-сервер, так и openssh-клиент.
Теперь, когда я пытаюсь подключить рабочий стол A к ноутбуку A или наоборот, ssh user@1.23.y.y я получаю сообщение об ошибке
в обоих случаях.
Я владею обеими машинами, и теперь, если я попробую те же команды с машины моего друга, то есть через Рабочий стол B, я смогу получить доступ как к своему ноутбуку, так и к рабочему столу. Но если я пытаюсь получить доступ к Desktop B с моего ноутбука или с рабочего стола, я получаю
Я даже попытался изменить порт SSH нет. в ssh_config файле, но безуспешно.
Обратите внимание : что «Портативный компьютер A» использует соединение WiFi, а «Устройство A» использует соединение Ethernet, а «Устройство B» находится в совершенно другой сети.
@Lekensteyn Вот оно ->
Ноутбук A && Desktop A -> Router / Nano_Rcvr, предоставленный мне провайдером. Таким образом, к одному маршрутизатору подключены две машины, и к ним можно получить доступ одновременно. Вот мой вывод ifconfig для обеих машин: — Ноутбук
рабочий стол
Выход из ip route show
Выход из traceroute -n 1.23.73.111
Маршруты выглядят хорошо. Я предполагаю, что эти IP-адреса являются частными (LAN) и не являются общедоступными.
Поскольку вы подключены к сети по-разному (Wi-Fi / проводной), весьма вероятно, что ваш маршрутизатор разделил проводные / беспроводные сети. Попробуйте подключить их обоих по проводному (или беспроводному) соединению. Другая возможность заключается в том, что брандмауэр на компьютерах с Ubuntu блокирует соединения.
В противном случае настройте маршрутизатор на использование одной и той же сети (подсети) для беспроводных и проводных подключений. Также убедитесь, что маршрутизатор не блокирует связь клиент-клиент.
Ваш маршрутизатор, возможно, отбрасывает все незапрошенные пакеты, поэтому ваш друг получает сообщение «Тайм-аут соединения» на ваш публичный IP-адрес. Сконфигурируйте переадресацию портов NAT, чтобы комбинация общедоступный IP-адрес + порт переадресовывала на адрес вашей локальной сети.
На маршрутизаторе A настройте пересылку NAT:
Если у Вас есть брандмауэр ( ufw , iptables , . ) на машинах , установленных, чтобы разрешить входящий трафик на порт 22 (Desktop A) и порт 2222 (ноутбук).
Доступ к рабочему столу теперь можно получить с помощью SSH с:
Доступ к ноутбуку теперь можно получить по SSH:
Если вы хотите получить доступ к своей машине друзей, примените эти инструкции к его машине + маршрутизатор.
Источник
How to Fix “No route to host” SSH Error in Linux
SSH is the most secure means of connecting to Linux servers remotely. And one of the common errors encountered while using SSH is the “ssh: connect to host port 22: No route to host”. In this short article, we will show how to troubleshoot and fix this error.
Here is a screenshot of the error we are talking about. Note that the port may not necessarily be port 22, depending on your configurations on the remote host. As a security measure, system administrators can configure SSH to be accessed via a different port.
SSH No Route to Host Error
There are different reasons why this error appears. The first is normally that the remote server could be down, so you need to check whether it is up and running using the ping command.
Ping Linux Server
From the ping command results, the server is up and running, that’s why it is accepting the pings. In this case, the reason for the error is something else.
If you have a firewall service running on your remote server, it is possible that the firewall is blocking access via port 22.
Therefore you need to access the server console physically or if it is a VPS, you can use any other means such as VNC (that’s if it is already setup) or other custom remote server access applications provided by your VPS service provider. Login, and access a command prompt.
Then use the firewall-cmd (RHEL/CentOS/Fedora) or UFW (Debian/Ubuntu) to open port 22 (or the port you configured to be used for SSH) in the firewall as follows.
Now try to re-connect to the remote server once more via SSH.
SSH Login Successful
That’s it for now! You will also find the following SSH guides useful:
Remember, you can share your thoughts with us or ask any questions concerning this topic via the comment form below.
If You Appreciate What We Do Here On TecMint, You Should Consider:
TecMint is the fastest growing and most trusted community site for any kind of Linux Articles, Guides and Books on the web. Millions of people visit TecMint! to search or browse the thousands of published articles available FREELY to all.
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
We are thankful for your never ending support.
Источник
«Destination Host Unreachable» and ssh » No route to host»
При попытке пинга с Убунты локальной машины центос пишет
При попытке подключиться по ssh
На центосе стоит 2 сетевые карты с этими айпи. И нету подключения к интернету.
При попытке пинга с Убунты локальной машины центос пишет
Чего? Ты с локальной машины с убунтой пингуешь сам себя и тебе отвечает центос?
Я с Убунты(192.168.8.101) пытаюсь пинговать центос(192.168.100.166 и 192.168.8.1) На центосе установлены 2 сетевые карты с такими айпи. К 166 подключен кабель от глобальной сетки, а со второй карты идет кабель в роутер и от роутера второй кабель идет в убунту.
Не судите, но тут думаю есть проблема.
Ну так у Вас просто сеть не работает.
Начинать надо сначала — приведите список и параметры сетевых интерфейсов на локальной машине (команда ifconfig), а также таблицу маршрутизации (команда ip route).
Ну и проверьте, есть ли сеть физически (в логах dmesg должны быть строчки, что сетевые интерфейсы подняты).
Это с какой машины таблица маршрутизации?
фаерволы на обеих машинах выключил?
С обеих машин
ip a
ip r
ip ru
ip r g адрес_другого_компуктера
iptables-save
Во-первых, где шлюз по умолчанию?
Во-вторых, я правильно понимаю, что enp2s5 имеет адрес 192.168.100.166, а enp2s2 — 192.168.8.1?
Если это так, то что Вы хотите сказать вот этой строкой:
Вот это тоже лишнее:
Вместо них добавьте шлюз по умолчанию
(ip route add default gw $IP)
где $IP — IP-адрес шлюза.
Впрочем, связь между Ubuntu и CentOS должна и без шлюза по умолчанию заработать.
Да выходит что s5=100.166, s1=8.1 Я убрал эти значения что вы указали как лишние. Какой тогда использовать шлюз?
Другая информация была выше.
Выходит что мне должен раздавать интернет 166 айпи, к которому и подключен сам по себе сетевой кабель. А 8.1 быть как проводником к роутеру и от роутера до машины убунты с айпи 8.101 Как я понимаю эту схему.
Приведите новую таблицу маршрутизации с CentOS.
Связь между Ubuntu и CentOS должна и без шлюза появиться — они у Вас в одной сети (192.168.8.0/24) находятся.
А по поводу шлюза — Вам виднее, как сеть организована. Через какую машину в в интернет выходите?
Я к роутеру подкидываю сетевой кабель, от которого ща и получаю интернет. А когда тестирую связь машин, то откидаю кабель.
Выходит что мне должен раздавать интернет 166 айпи, к которому и подключен сам по себе сетевой кабель.
В этом случае в сети 192.168.100.0/24 должен быть шлюз, через который идет интернет. Вот его и объявляйте шлюзом по умолчанию.
А 8.1 быть как проводником к роутеру и от роутера до машины убунты с айпи 8.101
А вот тут поподробнее, пожалуйста. Как физически организована сеть между CentOS и Ubuntu? Из Ваших конфигов следует, что эти машины находятся в одной локальной сети.
Если это так, то о каком роутере между ними идет речь? Если нет, то конфиги надо менять, но чтобы понять, как именно, надо знать физическую конфигурацию сети.
А когда тестирую связь машин, то откидаю кабель.
Я правильно понимаю, что машины CentOS и Ubuntu напрямую соединены сетевым кабелем? Без роутеров и свичей между ними?
Источник
♌ Как исправить ошибку SSH «No route to host» в Linux
SSH является наиболее безопасным средством удаленного подключения к серверам Linux.
И одной из распространенных ошибок, возникающих при использовании SSH, является «ssh: connect to host port 22: No route to host».
В этой короткой статье мы покажем, как устранить неполадки и исправить эту ошибку.
Вот скриншот ошибки, о которой мы говорим.
Обратите внимание, что порт не обязательно может быть портом 22, в зависимости от ваших настроек на удаленном хосте.
В качестве меры безопасности системные администраторы могут настроить доступ к SSH через другой порт:
Существуют разные причины возникновения этой ошибки.
Первый, как правило, заключается в том, что удаленный сервер может быть отключен, поэтому вам нужно проверить, работает ли он, используя команду ping.
Исходя из результатов команды ping, сервер запущен и работает, поэтому он принимает эхо-запросы.
В этом случае причина ошибки кроется в другом.
Если на удаленном сервере запущена служба брандмауэра, возможно, брандмауэр блокирует доступ через порт 22.
Поэтому вам необходим физический доступ к консоли сервера или, если это VPS, вы можете использовать любые другие средства, такие как VNC (если он уже настроен) или другие пользовательские приложения для удаленного доступа к серверу, предоставляемые вашим поставщиком услуг VPS.
Войдите в систему и получите доступ к командной строке.
Затем используйте firewall-cmd (RHEL / CentOS / Fedora) или UFW (Debian / Ubuntu), чтобы открыть порт 22 (или порт, настроенный для использования для SSH) в брандмауэре следующим образом.
Теперь попробуйте снова подключиться к удаленному серверу через SSH.
Вы также найдете полезными следующие руководства по SSH:
Источник
How to Fix “No Route to Host” Connection Error on Linux
When you’re trying to connect to a service on Linux, “No route to host” is one of the last things you want to hear. It’s a broad message that means your computer can’t reach the target server, whether a local server daemon running on your system or a remote server that you can’t access for whatever reason. Here we show you how to fix the “no route to host” connection error in Linux.
Also read: Wi-Fi Not Working in Linux? Here’s How to Fix it
Why Am I Getting the “No Route to Host” error?
There are many reasons why you could be getting that error. Networking in Linux is a somewhat complicated stack that’s pretty intricate, and as a result, it’s tough to determine exactly where the issue is.
Host Is Offline/Service Isn’t Running
It may seem painfully obvious, but you should first check that the server that you’re trying to connect to is even online. It might have been taken down for maintenance or be experiencing issues.
The service itself might not have been started. If it’s your server, you can check to see if the service has been started and is running properly. To do that with Systemd, run the following command.
Wrong Port
You may be trying to connect on the incorrect port. Many system administrators choose to run commonly targeted services like SSH on different ports to help thwart would-be attackers.
If the server isn’t your own, check the available documentation or contact their support services.
For your own server, you can try using NMAP to figure out where you started your service.
If you think you used a really obscure port, you can use the -p- flag to scan them all. It will take a while though.
Also read: How to Show All Active SSH Connections in Linux
Iptables Is Blocking the Connection
You may have accidentally configured iptables to block connections on that port. You would receive the same message whether you configured iptables on the server or your desktop, so it’s worth checking both. To see your iptables rules, run the following command.
Your DNS Is Improperly Configured
If all else fails, you should try to ping the IP address that you’re looking to connect to. It could be that your computer isn’t connecting to a DNS server properly.
If the ping works but connecting a domain name doesn’t, you’re looking at a DNS issue.
Systemd users can run systemd-resolve —status to check the DNS servers that your system is using. It’s broken down by interface, so make sure to check the one that you’re actually trying to connect through.
In most cases your computer will discover the relevant DNS information over DHCP. If you’re using a static IP or something on your network is configured differently, you may have to set your DNS manually.
Open “/etc/systemd/resolved.conf.” In that file, uncomment the DNS line and add either the IP of your router or another known DNS server. The default fallback DNS for Systemd is Google’s DNS servers listed under FallbackDNS .
If you’re using OpenRC or another Systemd alternative, you can find your DNS information in “/etc/resolv.conf.”
If there’s nothing there, enter the IP address of your router or any other known DNS server that you’d prefer to use.
After, either restart networking or your entire computer.
The GUI Way
If you’re using a graphical desktop with Network Manager, you can edit your connection information that way. Open the applet or go through your system settings. Select your connection and find the “IPv4” tab. Switch the connection to “Manual” and manually enter in the IP address of your computer and the IP of your router as the gateway. Then, in the DNS field below, enter your router’s IP or the IP of another DNS server.
Also read: How to Run Nmap without Root or Sudo
Incorrect Network or Host Configuration
There are several other configuration options that may be incorrect. Any of them would make it impossible for your computer to connect to the server.
First, make sure that your computer’s network configuration is correct. Double-check the configuration files themselves and, of course, see if you can connect to the Internet another way.
If you’re using a specific hostname to connect or you’ve set up specific hosts on either the server or the client, you need to make sure both machines can connect to each other. Check the configurations of “/etc/hosts,” “/etc/hosts.allow,” and “/etc/hosts.deny.”
Finally, check your server configuration. Something may be improperly configured on the server, preventing clients from connecting properly.
Hopefully, using these tips has allowed you to fix whatever issues were happening that caused the “No Route to Host” error. Meanwhile, you can learn how to control your Wi-Fi network in Linux or check if your firewall is blocking any incoming and outgoing connection.
John is a young technical professional with a passion for educating users on the best ways to use their technology. He holds technical certifications covering topics ranging from computer hardware to cybersecurity to Linux system administration.
Источник