Назад | Перейти на главную страницу

Ошибка соединения SSH: ssh_exchange_identification: чтение: сброс соединения одноранговым узлом

Когда я пытался подключиться к серверу через 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 на сервере, а затем перезапустил сервер / клиент, но проблемы не решены.

Это может быть результатом ряда причин.

Вот несколько вещей, которые вы можете быстро попробовать:

  • Найдите в /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
    

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

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 установлено значение ACCEPT.
  3. Бегать tcpdump -A -s 0 port 443 а затем попробуйте подключиться к внешнему IP-адресу. Вы должны увидеть данные с исходным адресом маршрутизатора.

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

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

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

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

я использовал система-конфигурация-брандмауэр-туи для включения брандмауэра и выбрал только httpd оттуда, что заблокировало все другие службы, кроме httpd.

Чтобы решить эту проблему, добавьте разрешения для sshd по

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

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

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

vi /etc/hosts.allow
and add 

sshd: ALL

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

sudo mkdir / var / run / sshd

sudo chmod 755 -R / var / run / sshd

sudo service ssh перезапуск

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

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

apt-get --purge remove openssh-*

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

rm -rf /home/username/.ssh 

затем установите ваш openssh-server и openssh-client

apt-get install openssh-server openssh-client