SSH-соединение установлено на порту 22, но служба не работает

SSH-соединение установлено на порту 22, но служба не работает

У меня периодически возникает эта проблема на одном из моих серверов кластера MySQL, на самом деле она всегда возникает на любом случайном сервере MySQL этого кластера во многих странах, где у нас такая же конфигурация.

У меня есть этот «узел dbX», который я могу пинговать:

$ ping 192.0.2.4
PING 192.0.2.4 (192.0.2.4) 56(84) bytes of data.
64 bytes from 192.0.2.4: icmp_seq=1 ttl=61 time=1.92 ms
64 bytes from 192.0.2.4: icmp_seq=2 ttl=61 time=2.46 ms

Я могу использовать Telnet TCP Port 22:

telnet 192.0.2.4 22
Trying 192.0.2.4 ...
Connected to 192.0.2.4.
Escape character is '^]'.

И тут же закрылось:

Connection closed by foreign host.

И, очевидно, сам SSH не работает:

debug1: Connection established.
debug1: identity file /home/user/.ssh/identity type -1
debug3: Not a RSA1 key file /home/user/.ssh/id_rsa.
debug2: key_type_from_name: unknown key type '-----BEGIN'
debug3: key_read: missing keytype
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug3: key_read: missing whitespace
debug2: key_type_from_name: unknown key type '-----END'
debug3: key_read: missing keytype
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: identity file /home/user/.ssh/id_dsa type -1
ssh_exchange_identification: Connection closed by remote host

Я также могу подключиться к порту MySQL через Telnet:

# telnet db5 3306
Trying 192.0.2.4...
Connected to db5 (192.0.2.4).
Escape character is '^]'.

Но не могу к нему подключиться:

# mysql -h db5 -uroot

Это сервер ProLiant DL360p Gen8, работающий под управлением RHEL 5.5.

Когда я использую iLO для подключения и перезапуска SSH Daemon, у меня нет никакого консольного приглашения, только маленькая серая штука в углу...

Мне постоянно приходится перезагружать сервер, сталкивающийся с этой проблемой.

Мне нужна помощь, чтобы решить эту проблему. Я все перепробовал. Вы когда-нибудь сталкивались с чем-то подобным?

решение1

Для ssh, похоже, вы используете ключ Putty, ssh не может использовать ключ Putty, если он не экспортирован в формат OpenSSH. Похоже, что файл был отредактирован вручную. Если возможно, восстановите закрытый ключ из резервной копии или попробуйте повторно сгенерировать используемые ключи или создать новый ключ и сравнить их, чтобы убедиться, что используемый вами ключ не изменил форматирование.

Что касается немедленного завершения telnet, то этого следовало ожидать, поскольку ssh ищет ssh-соединения, а не telnet-соединения.

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

что касается входа в mysql, обычно вход по умолчанию для root ограничен 127.0.0.1 и локальным хостом. поэтому, если вы не разрешили определенные хосты (yourhost.domain) или % (кстати, % - плохая идея), вы не сможете подключиться, если только не используете туннель ssh, чтобы можно было подключиться локально. еще одна проблема в том, что ваша текущая команда mysql -h db5 -urootпытается подключиться к root без пароля. Попробуйте вместо mysql -h db5 -u root -pэтого, чтобы вас попросили ввести пароль.

решение2

Глуззер,

Это займет немного времени.

  1. Проверьте файлы конфигурации и убедитесь, что у вас есть доступ к устройству из сети, к которой вы подключаетесь.

  2. Убедитесь, что на этих серверах и в сетях, к которым они подключены. Что они могут пинговать вас. Если у вас есть односторонняя маршрутизация в сети, которая не позволит вам получить доступ. Некоторые сетевые администраторы блокируют запросы ICMP Ping, а правила брандмауэра/списка доступа могут помешать вам получить доступ к вашим устройствам, если вы не находитесь в той же подсети, что и они.

  3. Новые установки Linux-сервера iptables / ipforwarding / ipchains по умолчанию блокируют все. Вам придется вручную открывать каждый порт или сокет, который вам нужен. Некоторые скрипты установки заботятся об этом. Некоторые не справляются, и вам придется открывать их вручную с помощью команд Linux.

Палка о двух концах.. заблокировано конфигурациями приложений/локальной машиной или вашей собственной сетевой командой.

Надеюсь, это немного поможет. Ура...

Связанный контент