
У меня периодически возникает эта проблема на одном из моих серверов кластера 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
Глуззер,
Это займет немного времени.
Проверьте файлы конфигурации и убедитесь, что у вас есть доступ к устройству из сети, к которой вы подключаетесь.
Убедитесь, что на этих серверах и в сетях, к которым они подключены. Что они могут пинговать вас. Если у вас есть односторонняя маршрутизация в сети, которая не позволит вам получить доступ. Некоторые сетевые администраторы блокируют запросы ICMP Ping, а правила брандмауэра/списка доступа могут помешать вам получить доступ к вашим устройствам, если вы не находитесь в той же подсети, что и они.
Новые установки Linux-сервера iptables / ipforwarding / ipchains по умолчанию блокируют все. Вам придется вручную открывать каждый порт или сокет, который вам нужен. Некоторые скрипты установки заботятся об этом. Некоторые не справляются, и вам придется открывать их вручную с помощью команд Linux.
Палка о двух концах.. заблокировано конфигурациями приложений/локальной машиной или вашей собственной сетевой командой.
Надеюсь, это немного поможет. Ура...