Як вирішити помилки "Підключення відхилено" в SSH-з'єднанні?


96

У мене вдома є 32-розрядний Ubuntu Server 10.10. Я підключаю SSH до нього зі свого комп'ютера через Putty.

Проблема полягає в тому, що іноді я можу безперешкодно увійти. Однак іноді це дає мені помилку, як це:Network error: Connection refused.

Тоді я нічого не змінюю, спробуйте увійти ще кілька разів, зачекайте деякий час і спробуйте ще раз. Іноді я можу увійти, іноді не можу. Мені це здається досить випадковим.

Що я можу зробити, щоб вирішити це?

Редагувати:

І іноді Putty видає Network error: Software caused connection abortпомилку після відображення login as:тексту.

Ось вихід ping -t:

Pinging 192.168.2.254 with 32 bytes of data:
Reply from 192.168.2.254: bytes=32 time=6ms TTL=64
Reply from 192.168.2.254: bytes=32 time=65ms TTL=6
Reply from 192.168.2.254: bytes=32 time=88ms TTL=6
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=3ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64
Reply from 192.168.2.254: bytes=32 time=1ms TTL=64

Я вимкнув брандмауер маршрутизатора, і все, здається, працює зараз. Крім цього, я все ще не можу зайти на свій веб-сервер, набравши зовнішній IP з мого ПК.


наступного разу, коли вона вискакує так; запустити пінг на ньому знову, чи він все ще працює? скільки людей сш на цю машину?
myusuf3

Тільки я ssh цей сервер.
frbry

Точно така ж проблема і в тому, щоб отримати суміш успішних з'єднань (які потім працюють годинами), "відмовлено в з’єднанні" і "програмне забезпечення, яке припинило зв'язок" після входу в систему для входу або пароля. Для надання додаткових деталей: у моєму випадку це 64-розрядна віртуальна машина (працює з Ubuntu Server 10.10) на хості Microsoft Hyper-V, використовуючи емуляцію "старої мережевої карти".
hheimbuerger

SSH встановлений на вашому сервері?
Вілліан Соарес

Відповіді:


82

Ви повинні встановити openssh-сервер на Linux, перш ніж це буде працювати. Отримайте внутрішню IP-адресу Ubuntu та використовуйте її для налаштування переадресації портів у розділі 22 (SSH) вашого маршрутизатора. Хоча, якщо ви не збираєтесь проводити SSH за межами своєї мережі, це не потрібно.

Ось як встановити openssh-сервер:

sudo apt-get install openssh-server openssh-client
[ENTER PASSWORD]

10
Не відповідає на питання безпосередньо, але це корисно, оскільки Ubuntu не встановлений заздалегідь із SSH-сервером.
Остаті

Нещодавно я отримав новий ноутбук і зовсім забув, що він не встановлений за замовчуванням = D
Izkata

40

Конфлікт IP-адреси виявився першопричиною, коли я бачив це повідомлення про помилку SSH.

Прочитавши відповіді вище, я підозрював конфлікт IP-адреси, але потрібно було довести, що конфлікт адреси був чи не був проблемою.

У цій чудовій статті було показано, як використовувати арп-сканування, щоб дізнатись, чи два пристрої вимагають однакової IP-адреси.

У моєму випадку на серверній машині була статична ip-адреса 192.168.1.42, я використовував arp-сканування для перевірки цієї адреси:

$ sudo apt-get install arp-scan
$ arp-scan -I eth0 -l | grep 192.168.1.42
  192.168.1.42 d4:eb:9a:f2:11:a1 (Unknown)
  192.168.1.42 f4:23:a4:38:b5:76 (Unknown) (DUP: 2)

Впевнений, що виник конфлікт, як показано вище. Потім я запустив арп-сканування без грепа, виявив, що .43 доступний, пішов і відредагував /etc/network/interfacesі змінив статичний ip з .42 на .43


Насправді ця команда показала лише один рядок у моєму вікні, за винятком того, що назва мала назву іншого пристрою.
assylias

Дякую вам за точку в правильному напрямку щодо конфлікту IP-адреси. Була подібна проблема! +1
ДомінікАнгерер

Просто врятували мені стільки часу ... кудо ...
Кріс Барлоу

Іноді мій маршрутизатор просто потребує перезавантаження, щоб вирішити цю проблему.
Габріель Степлес

14

Використовуйте arpingIP-адресу, яка має проблеми з підключенням. Це покаже MAC-адресу для кожної відповіді ping, і, сподіваємось, розкриє неправдиву MAC-адресу.

arping 192.168.2.254

Ви повинні перевірити пул IP-адрес DHCP на сервері DHCP, переконайтесь, що на пристроях немає статичних IP-адрес, що стикаються з пулом DHCP.

Ці підказки вказують на дублювання IP:

  • ping ttl і час у зворотній дорозі виглядає як два різних сервери
  • переривчасті відключення без перезавантаження

Чудово, вказав мені прямо на правильний шлях! Вдалося простежити його за другою MAC-адресою, до якого порту був, і змінити IP-адресу принтера
канадський Люк

1
Мені потрібно було додати -I wlan0 (wlan0 є моїм wifi-пристроєм)
guhur

6

У мене була така ж проблема, хоча я мав статичну IP-адресу. Виявляється, іншому серверу в моїй мережі був призначений такий же (статичний) IP-адресу. (Дух.) Очевидно, що проблема викликана конфліктами IP-адреси, але можливі різні способи. Якщо ви встановите статичну та все ще маєте проблеми, спробуйте вимкнути свою машину та ввести пінг-адресу. Якщо ви отримаєте відповіді, почніть шукати, що ще може мати ту саму адресу.


1
Я відчував ті самі симптоми і відслідковував це до машини з тією ж IP-адресою, що і сервер.
SabreWolfy

4

Що ви отримуєте, якщо це зробите?

grep 192.168.2.25 /etc/hosts.deny

Якщо це повертає що-небудь, то його потрібно видалити.


10
Це одне з сумнозвісних "марних застосувань cat" - можна простоgrep 192.168.2.25 /etc/hosts.deny
Тобіас Кіенцлер,

@TobiasKienzler Виправлено
wjandrea

4

відкрити файл ssh config:

sudo nano /etc/ssh/ssh_config

знайти порт

#port 22

видалити різкий варіант порту

потім збережіть файл ctrl + xі перезапустіть службу

sudo service ssh restart

3

Це виглядає скоріше проблемою вашого мережевого обладнання, ніж самим сервером.

Перевірте / var / log / повідомлення щодо підключення / падіння ethernet-зв’язку (або коли буде бездротовий). Якщо так, спробуйте змінити кабелі.


Так, я спробував і вдалося встановити ssh-з'єднання за межами моєї мережі (в якій розміщений мій сервер і мій ПК). Здається, працює добре. Мій сервер - це також веб-сервер. Коли я намагаюся підключити порт 80 до свого ПК, я бачу сторінку входу мого ADSL. Але коли я спробую те ж саме на іншому комп’ютері, який знаходиться поза моєю мережею, я бачу сторінку Apache It Works.
frbry

Що ви PC ip, ваш ip сервера та ваш внутрішній маршрутизатор adsl ip?
forcefsck

ПК: 192.168.2.2 (отримано від DHCP) Сервер: 192.168.2.254 (Статичний, поза діапазоном DHCP) Маршрутизатор ADSL: 192.168.2.1
frbry

Я трохи розгублений, коли ви підключаєтесь з 192.168.2.2 до порту 192.168.2.254 80, ви отримуєте логін ADS-модему?
forcefsck

1
Якщо ви не встановили на сервер якусь веб-проксі, то, очевидно, ваш модем adsl відповідає на запити, зроблені на 192.168.2.254, і, мабуть, це так, коли ви отримуєте Connection refusedпомилку з ssh. Тож вам доведеться повторно перевірити налаштування модему adsl.
forcefsck

3

Я можу підтвердити цю точну проблему: це не проста проблема підключення. Посилання Ethernet не змінює стан; сервер доступний за допомогою ping; ssh підключається бездоганно зрідка, тоді, здавалося б, випадковим чином не підключається або існуючі ssh сеансові краплі. Це відбувається в Ubuntu 10.04 та 11.04. Після пропозиції hheimbuerger я дав серверу статичну IP-адресу, це, здавалося, виправило.

Вирішення: перехід адаптера з DHCP на статичний.


1

У мене було саме таке питання, і в моєму випадку це виявилося конфліктом IP-адреси. Мій Ubuntu VM мав динамічну адресу, але інший апарат (у цьому випадку телефон) мав статичний IP-адресу, про який DHCP-сервер не знав.

Лише зміна IP-адреси, призначеного сервером DHCP для Vbuntu VM, виправляла всі проблеми з підключенням.


1

Це в основному з будь-якої з наступних причин:

  1. Занадто багато користувачів мережі намагаються отримати доступ до сервера
  2. Більше одного комп’ютера в мережі має той самий IP, що і сервер, що викликає конфлікт із IP-адресою
  3. Неправильне ім'я користувача або ваші облікові дані були відкликані

0

Ви можете перевірити свої iptablesправила на своєму сервері. Здається, у вас є правило обмеження нових з'єднань SSH.

Наступне правило дозволяє 5 нових з'єднань в хвилину, якщо ви перевищите цей ліміт, ваші нові з'єднання будуть відхилені через деякий час:

-A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m limit --limit 5/min -j ACCEPT

Перегляньте документацію IPTables / Netfilter , трохи прокрутіть до limit.


0

arp-сканування показує два копії пристрою, але коли я запускаю Розширений сканер IP на Win8, вони виглядають добре. Тому вони не завжди згодні.

Я встановив маршрутизатор відкликати всі оренди, сказавши йому дати лише 1-годинну оренду. Дадуть час побачити, чи очиститься він.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.