Підключення SSH: ssh_exchange_identifcation


9

Я вже близько місяця підключаюся до віддаленого сервера через свій Mac. Проте останнім часом я намагався підключитися за допомогою ssh dylan @ MY_IP і отримав це повідомлення.

ssh_exchange_identification: read: Connection reset by peer

Я також отримав деяку діагностичну інформацію ...

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to {MY IP{ [MY IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/id_rsa type -1
debug1: identity file /Users/watson/.ssh/id_rsa-cert type -1
debug3: Incorrect RSA1 identifier
debug3: Could not load "/Users/watson/.ssh/id_dsa" as a RSA1 public key
debug1: identity file /Users/watson/.ssh/id_dsa type 2
debug1: identity file /Users/watson/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2

Провівши кілька досліджень, я спробував наступне ...

  1. Перезапустив роутер
  2. Видалили мій файл "відомі_хости"
  3. Видалено мій файл "known_hosts"
  4. Вийшов та оновив мій DHCP
  5. Я також спробував на іншому пристрої (Windows), використовуючи Putty з помилкою

Зауважте, що я не вніс жодних змін на сервер, щоб перешкодити цьому спілкуванню.

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

Крім того, мені вдалося успішно підключитися з іншої IP-адреси.

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

Оновлення

Я примусив його до протоколу 1. Замість "З'єднання скидається за допомогою однорангового", тепер я отримую "З'єднання закрите віддаленим хостом". Запуск з інформацією про налагодження виявив:

debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 53: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to MY_IP [MY_IP] port 22.
debug1: Connection established.
debug1: identity file /Users/watson/.ssh/identity type -1
debug1: identity file /Users/watson/.ssh/identity-cert type -1
ssh_exchange_identification: Connection closed by remote host

Чи використовуєте ви автентифікацію з відкритим ключем? У вас є ключ /Users/watson/.ssh/id_dsa? Спробуйте створити резервну копію файлу та видалити його.
пабук

Я не використовую аутентифікацію з відкритим ключем; однак у файлі є одна клавіша. Я спробував видалити файл, але зміни не було.
Ділан

якщо це проблема з версією протоколу, ви можете змусити з'єднатися з протоколом версії 1 зssh -1 ...
вкаха

Зверніться до нового редагування у публікації.
Ділан

Відповіді:


4

Ось так я вирішив помилку "ssh_exchange_identification: З'єднання закрите віддаленим хостом" під час підключення до SSH-сервера.

Я отримав цю помилку при спробі підключитися до вбудованої машини Linux після розпакування пакета до root. Багато бібліотечних файлів було замінено, включаючи libssl.

Спроба підключитися:

chetic@ubuntu:~$ ssh -v root@192.168.1.100
OpenSSH_6.2p2 Ubuntu-6ubuntu0.3, OpenSSL 1.0.1e 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to SC [192.168.1.100] port 22.
debug1: Connection established.
debug1: identity file /home/delaval/.ssh/id_rsa type 1
debug1: Checking blacklist file /usr/share/ssh/blacklist.RSA-2048
debug1: Checking blacklist file /etc/ssh/blacklist.RSA-2048
debug1: identity file /home/delaval/.ssh/id_rsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_dsa type -1
debug1: identity file /home/delaval/.ssh/id_dsa-cert type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa type -1
debug1: identity file /home/delaval/.ssh/id_ecdsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.3
ssh_exchange_identification: read: Connection reset by peer

Google ніби лише пропонував перевірити hosts.deny та hosts.allow, але у моєї цільової машини таких файлів не було.

Після перезавантаження (за пропозицією Картіка) sshd не запускався. Я спробував вручну запустити sshd на ціль:

# sshd
OpenSSL version mismatch. Built against 1000002f, you have 1000105f

Я замінив /usr/lib/libssl.a на оригінальну версію і запустив sshd, і все повернулося до норми. Проблема в моєму випадку була викликана неправильною версією пакету, який я спочатку розпакував до root.


3

Я отримував таку саму помилку (але з будь-якої машини, в тому числі з проблемної машини через ssh localhost).

Це почалося, коли я перемістив профіль користувача; тобто після копіювання файлів у корінь, а потім, як командиchown -R username /Users/username/Destop

у будь-якому випадку, абсолютно не знаю, чому / var / empty власник був змінений на ім'я користувача, але, sshбезумовно, /var/emptyйому належить користуватися root (інакше ви отримаєте ssh_exchange_identification: read: Connection reset by peer):

    sudo chown root /var/empty

Дякую! Зміна власника /var/emptyвирішила проблему для мене.
Євген Павлюк

1

Це не проблема з вашою локальною машиною, а проблема з боку сервера. Причиною цієї проблеми може бути кілька факторів :

  1. Зміни в /etc/hosts.allow або /etc/hosts.deny конфігурації на віддаленому сервері.
  2. Велике навантаження сервера.

Раніше, коли у мене були ці проблеми, я робив одну з двох речей у такому порядку:

  1. Змініть /etc/hosts.allow, як зазначено у вищевказаній статті. (і перезапустити SSH-сервер)
  2. Якщо /etc/hosts.allow вже такий, як потрібно, просто перезавантажте SSH-сервер (і будьте обережні, коли ви це робите!)
  3. Якщо перезапуск не працює, відновіть серверні ключі та перезавантажте SSH-сервер (це ризиковано, оскільки кожен користувач, який увійшов на цю машину, отримає помилку щодо зміни сервера із зміною ключів)

Найчастіше, 1 вирішує цю проблему, але я повинен був зробити 2 в деяких випадках .. Я не був в змозі зрозуміти, чому це так, тільки те , що вона працювала. Можливо, це має щось спільне з тим, як ключ представлений, або, можливо, він якийсь спосіб зіпсувався - я не впевнений. Але те, що я знаю, це помилка - це цілком пов'язане з сервером, і спосіб рукостискання відбувається при встановленні SSH-з'єднання uo.


1

У мене був налаштований SSH разом із Cygwin, і в моєму випадку саме брандмауер Windows викликав саме цю помилку, тому переконайтеся, що дозволено підключення до порту 22.


0

Мені вдалося вирішити це питання справді легко.

У звичайній ОС X ви можете це вирішити, просто включивши "Віддалений вхід" у Налаштуваннях системи / Обмін.

Однак якщо це безголовий сервер (як, наприклад, у моєму випадку), ви можете скористатися програмою OSX Server, щоб перейти до (ім'я сервера) / Налаштування та переключити "Захищені з’єднання оболонки знову та знову"


1
Я також зауважив, що як можна вирішити проблему, але вона її не вирішує: відключення віддаленого входу сильно впливає на систему, а необхідність перемикання віддаленого входу кожного разу, коли хочеться перейти на певне місце до певного місця, не є прийнятним рішенням .
Ant6n

Так, це все ще жахливе питання у мене. Щойно я створив сценарій root cron, який перезапускає послугу щопівночі.
Сирени

0

Якщо ви використовуєте приватний ключ або ключ безпеки для входу на свій сервер, вам потрібно змінити дозвіл на файл ключа на 660, використовуючи команду

sudo chmod 660 Ім'я файлу


1
(1) Хоча це може бути причиною того ssh, що це не працює, незрозуміло, як ця проблема випадковим чином спричинить робочу систему. (2) Ця відповідь, така як вона, була б більш корисною, якщо ви визначили файл, про який ви говорите, або надали інструкції, що дозволяють користувачеві його ідентифікувати. (3) Я думаю, ви говорите про файл у (під) домашній каталог користувача. Якщо це так, sudoне потрібно.
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.