Ошибка соединения SSH: ssh_exchange_identification: чтение: сброс соединения по пиру

25

Когда я пытался подключиться к серверу через SSH, я получаю следующую ошибку,

[root@oneeighty ~]# ssh -vvv -p 443 root@xxx.xxx.xxx
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to xxx.xxx.xxx [IP] port 443.
debug1: Connection established.
debug1: permanently_set_uid: 0/0
debug1: identity file /root/.ssh/identity type -1
debug1: identity file /root/.ssh/id_rsa type -1
debug1: identity file /root/.ssh/id_dsa type -1
debug1: loaded 3 keys
ssh_exchange_identification: read: Connection reset by peer

Я проверил конфигурацию SSH на сервере и клиенте, и нет никаких проблем.

Перезапустил Службу SSH на Сервере и затем перезапустил сервер / клиент, но проблемы не решены.

Senthil G
источник
Вы можете разрешить ssh-подключение через пользовательский интерфейс брандмауэра (некоторые провайдеры разрешают это) или, если у вас есть какой-либо альтернативный способ входа (например, digitalocean предоставляет кнопку консоли), вы можете запустить команду sudo ufw allow ssh sudo ufw allow 22
BSB

Ответы:

26

Это может быть результатом ряда вещей.

Несколько вещей, которые вы можете быстро попробовать, заключаются в следующем,

  • Посмотрите в /etc/hosts.deny для любой записи, как sshd: ALL
  • Возможно, добавить sshd: ALLв/etc/hosts.allow

  • Возможно, что HostKeys вашего SSHD повреждены. Они присутствуют в каталоге / etc / ssh /. Вы можете удалить их и перезапустить sshd, и он будет сгенерирован заново. В случае, если это дает ошибки, пожалуйста, используйте следующие команды

    $ ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    $ ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    $ ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
    $ /etc/init.d/sshd start
    
vagarwal
источник
в файлах /etc/hosts.deny и /etc/hosts.allow все строки закомментированы.
Senthil G
1
Пожалуйста, добавьте sshd: ALLв hosts.deny, чтобы проверить, помогает ли это.
vagarwal
2

Следующая строка в отладке должна выглядеть так:

debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3p1 Debian-3ubuntu7

В StackOverflow вы подтвердили, что используете NAT / переадресацию портов с внешнего IP-адреса. Вы также убедились, что вы можете ssh из локальной коробки к себе. Поскольку локальный sshing к порту 443 работает, вам нужно проверить, работает ли сопоставление портов.

Пытаться:

  1. SSH из другого ящика в той же подсети
  2. Запустите iptables -Lи убедитесь, что порт 443 открыт или INPUT и для OUTPUT установлено значение ПРИНЯТЬ
  3. Запустите tcpdump -A -s 0 port 443и попробуйте sshing на внешний IP. Вы должны увидеть, что данные поступают с адресом источника маршрутизатора.
Аластер МакКормак
источник
2

Я запускаю Ubuntu 14.04 на AWS. Эта проблема была исправлена ​​SSHing через их веб-клиент Java и запущена sudo service apache2 start. Я просто хотел, чтобы мой веб-сайт был восстановлен, но он также исправил доступ по SSH. Не знаю почему, но я не жалуюсь.

Mazyod
источник
та же проблема здесь. мой сеанс был без ответа без причины, и я не мог восстановить соединение через замазку. использование веб-клиента сделало все возможное, чтобы мое соединение через putty снова заработало.
AndrewK
Спасибо, я не знаю как, но это действительно помогло. *** aws
Сергей Учухлебау
1

Проверьте допускаемые хосты на сервере, к которому вы пытаетесь подключиться, а также все правила iptables, на которых он работает.

KJS
источник
1

Проблема была решена.
Проблема в балансировщиках нагрузки, которые есть в нашей сети. Проблема устранена при перезапуске балансировщиков нагрузки.

Senthil G
источник
1

Я столкнулся с подобной проблемой сегодня, так как внезапно ssh доступ к виртуальной машине было отказано с тем же сообщением. ssh -v (на клиенте) и sshd -d (на сервере) мало помогли. Проблема в моем случае началась из-за изменений в настройках брандмауэра / iptable, которые я сделал для некоторой демонстрации использования стека LAMP.

Я использовал system-config-firewall-tui для включения брандмауэра и выбрал оттуда только httpd, который заблокировал все другие сервисы, кроме httpd.

Так как решение этой проблемы либо добавить разрешения на SSHD по

  • обновление настроек iptable conf ИЛИ
  • Выбор sshd из system-config-firewall-tui ИЛИ
  • Отключение брандмауэра ИЛИ
  • Остановите службу iptable (rhel6, также удалите ее из chkconfig). Остановите службу iptables.

теперь ssh работает отлично !!!

Rinky
источник
0

Для меня я разрешаю sshd соединения в файле / etc / hosts.

vi /etc/hosts.allow
and add 

sshd: ALL
Дэвид Окви
источник
0

Способ, которым я решил проблему, я пошел к хост-машине и выполнил несколько команд

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo service ssh restart

После этого я подключился к машине.

Саян Бисвас
источник
-3

Первая очистка openssh- * (openssh-сервер и openssh-клиент)

apt-get --purge remove openssh-*

удаление каталога /home/username/.ssh

rm -rf /home/username/.ssh 

затем установите ваш openssh-сервер и openssh-клиент

apt-get install openssh-server openssh-client
Шанкар
источник
3
Нет, даже близко, ответ ОП говорит, в чем проблема. Вы отвечаете конкретно для дистрибутивов, которые используют apt, а OP использовал RHEL. Удаление и переустановка пакета почти никогда не является решением.
user9517 поддерживает GoFundMonica
Вы делали все это на локальном или удаленном сервере?
Джонатан