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

Порт 22 был закрыт во время обновления (недоступен через SSH / SFTP)

После обновления как-то закрылись некоторые порты !? Теперь порт 22 больше не открыт, и сервер недоступен ни по SSH, ни по SFTP.

Все остальные службы, такие как apache, mysql, webmin и т. Д., Работают должным образом.

Пробовали перезагрузить систему

Откройте порты перед обновлением

# nmap -PN 127.0.0.1
Host is up (0.0000090s latency).
Not shown: 996 closed ports
PORT      STATE SERVICE
22/tcp    open  ssh
80/tcp    open  http
3306/tcp  open  mysql
10000/tcp open  snet-sensor-mgmt

Открытые порты после обновления

# nmap -PN 127.0.0.1
Host is up (0.0011s latency).
Not shown: 998 closed ports
PORT      STATE SERVICE
80/tcp    open  http
10000/tcp open  snet-sensor-mgmt

Ниже приведены точные шаги во время обновления. Обновление было выполнено на нескольких серверах, и одна и та же проблема во всех случаях с закрытыми портами после завершения обновления.

1 шаг: обновление mysql 5.6.15 до 5.6.20

service mysql stop
dpkg -r mysql
dpkg -r mysql-client
dpkg -r mysql-client-5.5
dpkg -r mysql-common
wget http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20-debian6.0-x86_64.deb && dpkg -i mysql-5.6.20-debian6.0-x86_64.deb
cd /usr/local && ln -s /opt/mysql/server-5.6 mysql && cd mysql && scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql
rm /opt/mysql/server-5.6/my.cnf && ln -s /var/ini/my.cnf /opt/mysql/server-5.6/my.cnf
cp support-files/mysql.server /etc/init.d/mysql
update-rc.d mysql defaults
service mysql start

2 шаг: Дальнейшее обновление

apt-get update && apt-get upgrade

Что могло пойти не так во время обновления, если некоторые порты больше не открыты? Как заново открыть закрытые порты?

Следующие порты больше не открыты:

22 ssh
3306 mysql

Mysql запущен (веб-страница доступна), но я не могу подключиться к серверу через SSH (замазка), потому что порт 22 каким-то образом был закрыт во время обновления

ошибка шпатлевки

Server unexpected closed network connection

IIRC конфигурация MySQL по умолчанию - не прослушивание через TCP, а только через файл сокета, что объясняет, почему порт 3309 не привязан после обновления. Вполне вероятно, что каким-то образом вы получили конфигурацию по умолчанию.

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

Обновить

Согласно опубликованному вами выводу, sshd жалуется, что openssl не соответствует своей версии. Получите доступ к своему ящику и бегите

apt-get update
apt-get install openssl openssh-server libssl1.0.0

Если вы получаете ошибки при обновлении, это должно исправить APT. Однако будьте осторожны, после этого вам нужно будет просмотреть свою конфигурацию:

apt-get install -f

Это должно позаботиться об этом.

Вам понадобится физический доступ к машине для перезапуска sshd. Возможно, службы по умолчанию, запускаемые при запуске, как-то изменились. Если вы используете старый initd, вы должны увидеть справочную страницу update-rc.d. Если вы используете текущий systemd, вам следует сообщить об этом на странице руководства service. SFTP использует службы SSH, поэтому, если ваш sshd недоступен, ваш sftp недоступен. Тот факт, что вы можете получить доступ к веб-сервисам через веб-браузер, не означает, что он работает должным образом. может быть механизм кеширования, скрывающий сбой.

Учитывая то, что вы делите, похоже, что у вас проблема в процедуре обновления. Установленные версии пакетов могут быть несовместимы. бегать apt-get -f install попросить apt-get исправить это.