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

Как избежать ошибки «Порт 22: соединение отклонено» на SSH-порту (22)?

У меня есть сервер, на котором я просто использую openssh, openvpn и rabbitmq (для чего требуется много зависимостей erlang).

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

Порт 22: соединение отклонено

И мне приходится устанавливать все с нуля.

Что я должен проверить, чтобы избежать этой проблемы?

Чтобы просмотреть настройки брандмауэра в терминале, выполните следующие действия: -

sudo iptables -L -n

Вы ищете что-то вроде этого

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
DROP       all  --  anywhere             anywhere

если правило порта ssh (22) не задано, попробуйте:

sudo iptables -I INPUT -p tcp -m tcp --dport 22 -j ACCEPT

сохранить текущие правила брандмауэра iptables в файл с именем /root/dsl.fw, тип:

# iptables-save > /root/dsl.fw

Чтобы восстановить правила iptables, введите:

iptables-restore < /root/dsl.fw

Для автоматического восстановления правил при перезагрузке системы Linux добавьте следующую команду в свой /etc/rc.local файл, введите:

# vi /etc/rc.local

Добавьте строку:

/sbin/iptables-restore < /root/dsl.fw

Чтобы проверить, какие службы инициализации запущены и на каком уровне запуска, попробуйте это в терминале

ls /etc/rc*.d

если sshd отсутствует в списке, введите это в свой терминал:

update-rc.d ssh enable

Порт 22: в соединении отказано

Это сообщение указывает на то, что брандмауэр активно блокирует вашу попытку подключения или что sshd не прослушивает этот порт.

Подтвердите это:

  1. Правила iptables, применяемые при загрузке позволять трафик на порт 22
  2. sshd настроен на запуск при загрузке

Просто попробуйте (как root)

sudo apt-get install ssh

У меня нет ssh-сервера в стандартной настольной установке Ubuntu