Устранение ошибок SSH

Узнайте, как устранить некоторые из наиболее распространенных ошибок, которые вы можете получить при подключении к серверу с помощью SSH.

ПРЕДУПРЕЖДЕНИЕ: ИДЕНТИФИКАЦИЯ УДАЛЕННОГО УЗЛА ИЗМЕНИЛАСЬ

Эта ошибка возникает при изменении сертификата SSL для сервера. Эта ошибка предназначена для выявления потенциальной атаки «человек посередине». Однако большинство людей сталкиваются с этой ошибкой только после восстановления сервера.

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

Доступ запрещен или аутентификация отклонена

Наиболее распространенной причиной ошибки «Access Denied» или «Authentication Refused» является неправильное написание имени пользователя или пароля SSH.

  • Убедитесь, что вы правильно ввели имя пользователя.
  • Убедитесь, что вы используете правильное имя пользователя.
  • Дважды проверьте пароль. Чтобы убедиться, что вы ввели его правильно, скопируйте и вставьте его в поле. Примечание: Вы можете вставить в командную строку, используя Shift+Enter.

Поиск начального корневого пароля для облачного сервера Linux

Если у вас Linux Cloud Server, начальный пароль root по умолчанию указан на панели управления.

Войдите в свою учетную запись IONOS, нажмите Панель управления, чтобы открыть выпадающее меню, затем выберите Облачная панель.

На странице Серверы нажмите, чтобы выбрать свой сервер.

Прокрутите вниз до строки Initial Password и нажмите Show Password, чтобы отобразить пароль root по умолчанию.

Вы можете скопировать и вставить пароль из всплывающего сообщения.

Примечание

Если вы изменили пароль для root, новый пароль не будет показан здесь.

Порт 22: Отказ в подключении

Существует несколько возможных причин, по которым вы можете получить ошибку «Port 22: Connection refused» при попытке подключиться по SSH к вашему серверу.

Доступен ли сервер

Прежде всего, необходимо выяснить, разрешает ли сервер подключения к порту 22 из других мест в Интернете. Используйте инструмент на сайте http://www.infobyip.com/sshservertest.php, чтобы проверить ваш сервер.

Если сайт может подключиться к вашему серверу, значит, проблема на вашей стороне. Возможно, вы находитесь за брандмауэром, который блокирует трафик на порту 22. Многие офисы и школы блокируют этот порт по соображениям безопасности.

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

Установлен ли SSH

Если это новая установка, сервер SSH (sshd) может быть не установлен. Проверить, установлен ли он в вашей системе, можно с помощью команды:

which sshd

Если система ответит путем /usr/sbin/sshd, значит, SSH-сервер установлен. Если вместо этого система отвечает ошибкой типа /usr/bin/which: no sshd in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin), то вам нужно установить как SSH-клиент, так и SSH-сервер.

На Ubuntu и Debian установите эти программы с помощью команды :

sudo apt-get install openssh-server openssh-clients

На CentOS установите эти программы командой:

sudo yum -y install openssh-server openssh-clients

Запустить или перезапустить SSH

Убедитесь, что служба SSH запущена, с помощью команды:

sudo ps -aux | grep sshd

В дополнение к команде grep, вы должны увидеть запущенный процесс SSHD.

Если процесс SSHD не запущен, запустите его.

  • На Ubuntu и Debian: sudo service ssh start
  • На CentOS: sudo systemctl start sshd

Если процесс SSHD запущен, его может потребоваться перезапустить.

  • На Ubuntu и Debian: sudo service ssh restart
  • На CentOS: sudo systemctl restart sshd

Прослушивается ли SSH на порту 22

Порт 22 является портом по умолчанию для SSH-соединений. Если демон SSH вашего сервера настроен на прослушивание порта, отличного от порта 22, он будет отказывать в SSH-соединениях с портом 22.

Чтобы проверить, какой порт прослушивает SSH, используйте команду :

sudo netstat -apn | grep sshd

Вывод этой команды покажет вам, какой порт прослушивает SSH.

Если SSH прослушивает порт, отличный от порта 22, вам необходимо соответствующим образом изменить настройки подключения.

В PuTTY для Windows порт можно задать на главном экране настроек.

Проверьте файл конфигурации SSH на наличие опечаток

Если вы недавно редактировали конфигурацию SSH, проверьте синтаксис файла:

sudo sshd –T

Изучите правила брандмауэра

Существует несколько возможных сценариев работы брандмауэра, которые могут привести к этой ошибке SSH, в том числе:

  • Если вы недавно установили или обновили брандмауэр на своем сервере, вы могли случайно заблокировать доступ SSH к порту 22 (или не разрешить его).

  • Если ваш сервер недавно перезагружался, правила брандмауэра могли не загрузиться при загрузке, чтобы разрешить трафик на порт 22.

Проверьте правила UFW

Если вы используете ufw в качестве брандмауэра на своем сервере, вы можете перечислить все правила ufw с помощью команды :

sudo ufw verbose

Вы можете разрешить SSH с помощью команды:

sudo ufw allow ssh

Проверка правил Iptables

Чтобы проверить, есть ли у вас правило iptables, которое блокирует SSH трафик, используйте команду:

sudo iptables -L | grep ssh

Вы также можете перечислить все правила iptables с помощью команды:

sudo iptables -L

Чтобы удалить правило iptables, отредактируйте файл /etc/sysconfig/iptables, а затем перезагрузите конфигурацию iptables с помощью команды:

sudo iptables -F

Проверьте политику брандмауэра вашей облачной панели

Войдите в панель управления IONOS и перейдите в панель облака. Перейдите в раздел Инфраструктура -> Серверы и нажмите, чтобы выбрать свой сервер.

Прокрутите вниз и посмотрите, есть ли в списке политика брандмауэра.

Если в списке есть политика брандмауэра, отредактируйте ее, чтобы разрешить SSH-соединения.

Для этого нажмите Сеть -> Политики брандмауэра.

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

Если в политике брандмауэра нет правила для разрешения SSH, прокрутите вниз и нажмите Добавить предопределенные значения.

Щелкните SSH.

Нажмите на зеленую галочку, чтобы добавить это новое правило в политику брандмауэра.

Сетевая ошибка: Программное обеспечение вызвало прерывание соединения

Ошибка «Сетевая ошибка: Программное обеспечение вызвало прерывание соединения» возникает, когда ваш настольный компьютер неожиданно закрывает соединение. Это может произойти, если у вас возникли проблемы с интернетом, включая кратковременную заминку в соединении.

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

Не удалось выполнить запись: разорвана труба Сетевая ошибка: Сброс соединения сверстником

Когда сеанс SSH закрывается с сообщением «Write failed: broken pipe» или «Network error: Connection reset by peer», это означает, что сеанс завершен по таймауту.

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

Решением является настройка клиента SSH на отправку «keepalive-пакетов». Это небольшие пакеты данных, которые автоматически отправляются через регулярные промежутки времени. Это сообщает сети, что ваше соединение все еще активно.

Настройка Keepalive

PuTTY в Windows

Если вы используете PuTTY на Windows для подключения к вашему серверу, вы можете установить таймаут в разделе «Подключение». Установите «Seconds between keepalives (0 to turn off)» на 60.

Linux или Unix

Если вы используете Linux или Unix для подключения к серверу, отредактируйте /etc/ssh/sshd_config и добавьте:

ServerAliveInterval 60

Сохраните и выйдите из файла, затем перезапустите SSH, чтобы изменения вступили в силу.

Сетевая ошибка: Соединение прервалось по таймеру

Ошибка «Network error: Connection timed out» означает, что ваш SSH-клиент не получил ответа от сервера. Существует несколько возможных причин этой ошибки:

Перебои с интернетом в вашем местоположении

Подождите несколько минут, затем повторите попытку. Если вы все еще получаете сообщение об ошибке, проверьте подключение к Интернету, зайдя в браузере на сайт, например, Google.

Серьезная сетевая проблема где-то между вашим местоположением и сервером

Вы можете проверить состояние соединения между вашим местоположением и сервером, запустив traceroute. Это позволит отправить несколько пакетов данных на ваш сервер и сообщить о количестве переходов, которые пришлось совершить этим данным, а также о времени, затраченном на каждый переход.

  • Windows 10

Чтобы запустить traceroute в Windows 10, щелкните правой кнопкой мыши на кнопке «Пуск».

Нажмите «Поиск».

Введите «cmd» в поле поиска.

Нажмите Командная строка, когда она появится.

Запустите traceroute к вашему серверу с помощью команды:

tracert [IP address or domain name]

Например, если ваш сервер находится по адресу http://example.com, команда будет выглядеть следующим образом:

tracert example.com

Результат будет выглядеть примерно так:

Если вы видите чрезвычайно высокое время пинга (более 300 мс считается «высоким») или большое количество потерянных пакетов (которые обозначаются звездочкой), это может быть источником вашей проблемы.

Примечание: Последний «прыжок» до конечного сервера часто показывает потерянные пакеты и «Request timed out», даже если сервер работает без проблем. По соображениям безопасности большинство серверов не отвечают на команды ping.

Правила брандмауэра препятствуют подключению

Если вы находитесь за брандмауэром дома или на работе, это может стать причиной проблемы. Вы также должны убедиться, что брандмауэр вашего сервера настроен на разрешение SSH-соединений.

Возможно, сервер находится в автономном режиме или выключен

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

Если сервер по-прежнему не отвечает, вы можете проверить его состояние из панели управления IONOS.

Войдите в свою учетную запись IONOS, нажмите Панель управления, чтобы открыть выпадающее меню, затем выберите Панель облачных вычислений.

На странице Серверы нажмите, чтобы выбрать свой сервер. Индикатор состояния будет зеленым, если сервер запущен и работает. При наличии проблем он сменится на желтый или красный.

Чтобы проверить работу сервера, нажмите кнопку Действия, а затем выберите в выпадающем меню пункт Доступ к KVM-консоли.

 

 

Откроется KVM-консоль, которая позволит вам получить доступ к вашему серверу, как если бы вы сидели за клавиатурой, подключенной к физической машине.

Если вы хотите перезагрузить сервер, вы можете сделать это из KVM-консоли с помощью команды:

sudo shutdown -r now

Вы также можете перезапустить сервер из меню Actions, выбрав Restart.

Оцените статью
cdelat.ru
Добавить комментарий