Як виправити помилку "ssh_exchange_identification: read: Скидання з'єднання за допомогою однорангової" помилки?


21

Я не можу підключитися до свого сервера через ssh за допомогою комп'ютера, але я можу підключитися до цього сервера через свій мобільний телефон за допомогою програми termius. Я перевірив /etc/hosts.allowі /etc/hosts.denyсвої iptables, і я ще шукав google, здається, жодна відповідь не відповідає цій проблемі. Я не знаю, як це вирішити, ось ssh -v 183.17.228.80вихід

debug1: Connecting to 183.17.228.80 [183.17.228.80] port 22.
debug1: Connection established.=======================   
debug1: permanently_set_uid: 0/0   
debug1: SELinux support disabled  
debug1: key_load_public: No such file or directory    
debug1: identity file /root/.ssh/id_rsa type -1    
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_rsa-cert type -1      
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_dsa-cert type -1   
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa type -1  
debug1: key_load_public: No such file or directory   
debug1: identity file /root/.ssh/id_ecdsa-cert type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519 type -1   
debug1: key_load_public: No such file or directory  
debug1: identity file /root/.ssh/id_ed25519-cert type -1  
debug1: Enabling compatibility mode for protocol 2.0  
debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2   
ssh_exchange_identification: read: Connection reset by peer

Я можу пінг цього сервера, ось telnet

telnet 183.17.228.29 22  
Trying 183.17.228.29...  
Connected to 183.17.228.29.  
Escape character is '^]'.                                                                 
Connection closed by foreign host.

Ви можете перевірити, чи встановлено у вас DenyHosts, у DenyHosts є власні файли дозволу та заборони хостів.
Robby1212

ви впевнені, що програмне забезпечення, яке ви працюєте на ПК, сумісне з усіма режимами шифрування SSH?
Тарака Девінда

як я вже згадував, я перевірив файли хостів, а не для DenyHosts
user3054879

Я не впевнений, можливо, алгоритм шифрування був іншим, але мій клієнт був шпаклівкою .... але я можу сш на той самий сервер терміналом на IOS
user3054879

З шляху ключових файлів, я думаю, ви підключаєтесь як root. Зазвичай це не ввімкнено; подивіться на вашу конфігурацію sshd. ssh -vvvможе дати вам більше інформації.
верховодка

Відповіді:


14

Просто перезавантажте ваш сервер, який ви хочете зробити ssh. Це працювало на мене, раніше я стикався з тим же питанням.


1
Не вдалося знайти першопричину, але перезавантаження працювало для мене.
Raghavendra N

2
Я зіткнувся з тією ж проблемою, коли ssh на мій безкоштовний сервер на AWS. Це викликано сервером - це вичерпання пам'яті. Перезавантаження працює.
Леон

@thistleknot, перезавантаження працює для мене і є легким швидким виправленням. Нічого жахливого в цьому немає. Дійсно, я не знаю, що спричинило проблему, але перезавантаження щось виправило.
CousinCocaine

Якщо перезавантаження працювало, можливо, це не проблема конфігурації, а швидше проблема ресурсу. Можливо, підвищення пріоритетності ssh могло б зробити трюк.
JohnRos

1
перезавантажити сервер - дуже погана пропозиція.
Hossein Vatani

8

Це насправді означає, що ваш IP-код перебуває у чорному списку сервером. Спробуйте ввести в білий список свою IP-адресу, щоб мати можливість увійти. Ви можете переглянути список / etc / hosts, щоб побачити, чи змінилася ip-адреса вашого сервера.


9
Це дійсно не обов'язково так.
sempaiscuba

2
Це здавалося мені правдою. Я дізнався, що мій сервер Cloudways внесли в чорний список мій домашній IP, і мені потрібно було вручну додати його до списку вручну.
Райан

Проблема зникла через кілька годин, я не знаю, чому, але мені не потрібно було робити перезапуск.
Салем Ф

Дякуємо за коментар щодо: "Сервер Cloudways внесли в чорний список мій домашній IP" - це тільки що трапилося з нами - вручну додати список до списку і все добре.
Жуль Меттьюз

2

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

sudo mkdir /var/run/sshd
sudo chmod 755 -R /var/run/sshd
sudo service ssh restart

Після цього я підключився до машини.


1

Вищеописана помилка трапляється, коли у вас є обмеження невдалої спроби аутентифікації на сервері, і у вас занадто багато ключів ssh на вашому клієнті (більше значення MaxAuthTries)

Що ви можете спробувати, це збільшити значення MaxAuthTries та перезапустити sshd демон. Або ви можете обмежити кількість ключів у вашому ~/.sshкаталозі та використовувати підкаталоги та ~/.ssh/configфайл для визначення ключа на хост / групу хостів


Я спробував це, але не вдалося. Насправді я майже випробував кожен метод, який можна знайти в Інтернеті, я думаю, що ключовим був алгоритм негеотизації шифрування, але я не можу це виправити
user3054879

2
що ти спробував? будь ласка, оновіть своє запитання
Ромео Нінов

1

У мене було те саме, що трапилося, і мені потрібно було ssh -v 'ip addr', а потім я побачив, що мені потрібно прийняти сертифікат. Також може бути шпаклівка, що блокує правило ACL або маршрут: example -

Клієнт Putty має 10-кратний addr, що захищає стіни, що блокують корпоративну мережу спілкуватися з хостами DMZ, але ваш мобільний телефон на 58.xxx незалежно від загальнодоступної ip-адреси може спілкуватися з хостом dmz, який ви намагаєтесь отримати.

тож я погляну на інформацію ssh -v, коли ви спробуєте знову підключитися, побачити, чи можете ви отримати будь-яку інформацію, а потім перевірити, чи є правила, які не дозволяють вам потрапляти на ваш сервер на рівні брандмауера чи маршрутизатора, а не на файл denyhosts на самому сервері.


0

Я використовую гарячу точку стільникового зв'язку для підключення до Інтернету, поки я працював консолі, і я більше не міг підключитися ssh_exchange_identification: read: Connection reset by peer

Я спробував скинути SRV, але це не допомогло

Тільки коли я зміню мережеве з'єднання (на гарячу точку на іншому стільниковому), я можу знову підключитися.

ПРИМІТКА. Я все ще можу використовувати старе з'єднання для підключення до SRV на іншому AWS, дивно ...


0

Щоб вирішити проблему, виконайте такі дії:

  1. Перезавантажте сервер з онлайн-терміналу сервера.

Якщо це не працює,

  1. Відредагуйте файл $HOME/.ssh/known_hosts
  2. Видаліть будь-який вміст із цього файлу, коли він знову підключиться до будь-яких серверів, які ви ssh, тоді ви повинні знову прийняти з'єднання.

1
-1 для повного видалення known_hosts. Було б краще відредагувати цей конкретний хост (хоча я сумніваюся, що це допоможе тут).
Девід Фоерстер

0

Створіть нову пару ключів ssh для аутентифікації користувача. Ключі SSH та посібник з аутентифікації відкритого ключа

Просто дотримуйтесь інструкції.


Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Кевін Боуен

0

Причин може бути багато, але однією з найбільш можливих причин може бути (у моєму випадку це було) ssh / port 22 заборонений брандмауером .

Ви можете дозволити ssh-з'єднання за допомогою користувальницького інтерфейсу (деякі провайдери це дозволяють) або Якщо у вас є якийсь альтернативний метод для входу (наприклад, digitalocean надає кнопку консолі), ви можете запустити нижче команди

sudo ufw allow ssh
sudo ufw allow 22

0

Схоже, вивішений ssh ​​демон на сервері. Ви впевнені, що це працює? Коли ви telnet в ssh, ви повинні побачити підпис. Щось на зразок:

telnet unixhow.com 22
Trying 35.228.26.20...
Connected to unixhow.com.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.1

Що я бачу з ваших результатів - це ssh демон, який не відповідає на стороні сервера. Рекомендую підключитися через IP-KVM (або якимось іншим способом) до віддаленої машини та перезапустити sshd.


0

Це може бути тому, що у вас немає запущеного сервера на вашому ubuntu. Ви можете запустити команду нижче, щоб перевірити стан вашого відкритого сервера.

ubuntu@ubuntu:~$ sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-03-20 11:52:16 GMT; 5min ago
  Process: 1034 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
 Main PID: 1058 (sshd)
    Tasks: 1
   Memory: 5.1M
      CPU: 122ms
   CGroup: /system.slice/ssh.service
           └─1058 /usr/sbin/sshd -D

Mar 20 11:52:15 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on 0.0.0.0 port 22.
Mar 20 11:52:16 ubuntu sshd[1058]: Server listening on :: port 22.
Mar 20 11:52:16 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
Mar 20 11:52:24 ubuntu sshd[1131]: Connection closed by 10.0.2.2 port 60566 [preauth]
Mar 20 11:53:59 ubuntu sshd[1135]: Accepted password for ubuntu from 10.0.2.2 port 60654 ssh2
Mar 20 11:53:59 ubuntu sshd[1135]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)
Mar 20 11:57:48 ubuntu sshd[1238]: Accepted password for ubuntu from 10.0.2.2 port 61124 ssh2
Mar 20 11:57:48 ubuntu sshd[1238]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

Якщо статусу немає active (running), можливо, ви захочете встановити та / або запустити сервер opensh. Це можна зробити за допомогою наведених нижче команд.

sudo apt update
sudo apt install openssh-server

0

У мене була така ж проблема, але після перезавантаження демона sshd я міг підключитися до хоста.

sudo systemctl restart sshd && systemctl status sshd

Це лише тимчасове вирішення, поки ви не збільшите параметр MaxAuthTries.



-2
  1. Перевірте цей sshd у встановленому та запущеному сервері.
  2. Переконайтесь, що демон демонструється та запускається. Ви повинні мати можливість "man sshd". Я думаю, що пакет, в якому він знаходиться, є open-sl, і вам потрібно буде запустити демон (і зупинити його, коли він вам не потрібен.).

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