Как поменять порт ssh ubuntu
Перейти к содержимому

Как поменять порт ssh ubuntu

  • автор:

Как поменять (изменить) порт у SSH сервера

SSH — это сетевой протокол прикладного уровня. Он позволяет безопасно передавать сетевые пакеты. Его используют для удаленного подключения к операционной системе, передачи файлов (как копирование обычных файлов, так и потоковая передача данных, например, с веб-камеры), подключения к базам данных, удаленного запуска команд и т.д. Данный протокол шифрует все данные, включая пароли, поэтому он считается безопасным. Однако для того, чтобы злоумышленники не получили доступ к учётным данным пользователя, у которого есть доступ по SSH, рекомендуется обезопасить свой сервер. По умолчанию SSH слушает порт 22. В целях безопасности рекомендуется сменить порт SSH на нестандартный. Это значительно усложнит жизнь ботам, которые постоянно сканируют серверы и открытые порты и пытаются подобрать логин и пароль для доступа к серверу по SSH по стандартному порту. Помимо смены порта можно настроить блокировку количества попыток подключений к серверу (например, с помощью утилиты fail2ban), отключить подключение по SSH пользователя root, отказаться от простых и угадываемых логинов (таких как admin, ivanov, zabbix и пр.), настроить запрет подключения по паролю и включить подключение только по ключу (требуется предварительная настройка и проверка, иначе можно потерять доступ к серверу по SSH). Как правило для подключения по SSH в терминале Linux используется следующая команда:

# ssh username@ip_address

Если изменить порт, то при подключении к серверу по SSH нужно явно указывать порт (возьмем для примера порт 2233):

# ssh -p 2233 username@ip_address
  • Изменение порта SSH
    • 1. Конфигурационный файл
    • 2. Перезапуск SSH
    • 3. Проверка

    Изменение порта SSH

    Конфигурационный файл

    Обязательно проверьте, что порт, на который мы хотим заменить стандартный порт SSH, не занят другими службами. Это можно сделать с помощью утилиты netstat. Для этого потребуется установить пакет net-tools.

    Debian/Ubuntu

    # apt install net-tools # netstat -tulpan | grep 22

    CentOS/AlmaLinux

    # yum install net-tools # netstat -anp | grep 22

    Вывод будет примерно таким:

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 132394/sshd: /: tcp6 0 0 . 22 . * LISTEN 132394/sshd:

    Видим, что порт 22 занят. Проверим 2233:

    #netstat -tulpan | grep 2233 для Ubuntu/Debian
    # netstat -anp | grep 2233 для CentOS/AlmaLinux

    Вывод пуст, можно занимать.

    Меняем порт в конфигурационном файле SSH сервера, воспользоваться можно любым текстовым редактором:

    # vim /etc/ssh/sshd_config
    # nano /etc/ssh/sshd_config
    Port 22

    Если строка начинается с символа #, его нужно удалить, и вместо 22 порта написать любой другой, например, 2233. Сохраняем изменения.

    Перезапуск SSH

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

    Debian/Ubuntu

    # systemctl restart ssh

    CentOS/AlmaLinux

    # systemctl restart sshd

    Так как текущая сессия SSH ещё активна, можно открыть новое окно и проверить, что подключение по новому порту работает:

    # ssh username@ip_address -p2233

    Если подключение удалось, то настройки верные. В противном случае что-то не так, и можно проверить конфигурацию в уже открытом подключении.

    Проверка

    Debian/Ubuntu

    # netstat -tulpan | grep ssh

    CentOS/AlmaLinux

    # netstat -anp | grep ssh

    Если все нормально, увидим похожий результат:

    tcp 0 0 *:2233 *:* LISTEN 3849/sshd tcp6 0 0 [::]:2233 [::]:* LISTEN 3849/sshd
    root sshd 813 3 tcp6 *:2233 *:* root sshd 813 4 tcp4 *:2233 *:*

    Готово. Мы сменили стандартный порт SSH на нестандартный, таким образом усилив безопасность своего сервера

    Сменить порт на сервере или VPS для SSH

    В данной статье мы рассмотрим как можно самостоятельно сменить порт для сервиса SSH на Вашем VPS или Выделенном сервере.

    Выполняем подключение к серверу по SSH с помощью команды:
    ssh root@IP_адрес_сервера
    После этого у нас запросят пароль, нам необходимо будет его ввести.

    Для более комфортного редактирования файлов установить утилиту nano, используя данную команду:
    yum install nano -y
    или
    apt install nano -y

    Как только утилита будет установлена приступаем к смене порта SSH. Редактируем конфигурационный файлы службы sshd:

    Смена порта для SSH

    nano /etc/ssh/sshd_config

    Ищем строку где написано Port, убираем символ «#» для того чтобы раскомментировать строчку.
    Пишем наш порт, в примере мы меняем порт на 34713.
    Обращаю Ваше внимание, что использовать порты можно в диапазоне от 1-65535.

    Добавляем разрешение в Firewall

    Далее необходимо добавить правило в firewall для того чтобы этот порт начал работать.

    1. Если Вы используете iptables, то действуем этим способом:
    Нам необходимо изменить разрешающее правило, вводим данную команду:
    nano /etc/sysconfig/iptables

    Чтобы быстро найти необходимое поле можем использовать встроенный поиск в утилиту nano. Нажимаем комбинацию клавиш CTRL+W в самом низу появится окно для поиска вносим данную строчку для поиска:
    -A INPUT -p tcp -m state —state NEW -m tcp —dport 22 -j ACCEPT
    Выполним замену dport на 34713:
    -A INPUT -p tcp -m state —state NEW -m tcp —dport 34713 -j ACCEPT

    Смена порта для SSH

    Сохраняем изменения, нажав на комбинацию клавиш CRTL+X, Вас спросят сохранить изменения или нет, для сохранения изменений нажимаем на кнопку «Y», далее «Enter», чтобы закрыть отредактированный файл.

    Перезагружаем службу SSH:
    service sshd restart

    Перезагружаем службу iptables:
    service iptables restart

    2. Если Вы используете Firewalld, то выполните следующие шаги:

    Добавляем правило для открытия порта 34713, используя команду:
    firewall-cmd —permanent —add-port=34713/tcp

    Если правило добавлено корректно, то нам отобразиться сообщение: success
    Перезагружаем службу SSH:
    service sshd restart

    Перезагружаем службу firewalld:
    service firewalld restart

    3. Также открыть доступ по SSH можно используя CSF.
    Сначала нам необходимо выполнить его установку.
    Выполняем установку необходимых зависимостей для CSF (Config Server Firewall):
    yum install perl-libwww-perl
    yum install perl-Time-HiRes
    или
    apt install libtime-hires-perl

    Приступаем к установке CSF:
    wget https://download.configserver.com/csf.tgz
    tar xvfz csf.tgz
    cd csf
    sh install.sh

    Выполняем проверку необходимых модулей для iptables:
    Testing ip_tables/iptable_filter. OK
    Testing ipt_LOG. OK
    Testing ipt_multiport/xt_multiport. OK
    Testing ipt_REJECT. OK
    Testing ipt_state/xt_state. OK
    Testing ipt_limit/xt_limit. OK
    Testing ipt_recent. OK
    Testing xt_connlimit. OK
    Testing ipt_owner/xt_owner. OK
    Testing iptable_nat/ipt_REDIRECT. OK
    Testing iptable_nat/ipt_DNAT. OK
    RESULT: csf should function on this server

    Выполняем удаление других firewall, которые могут конфликтовать с CSF:
    sh /usr/local/csf/bin/remove_apf_bfd.sh

    Смена порта для SSH

    Редактируем конфигурационный файл CSF:
    nano /etc/csf/csf.conf
    Ищем поле:
    TESTING = «1»
    Меняем значение с 1 на 0, чтобы отключить тестовый режим CSF.

    Смена порта для SSH

    C помощью поиска через комбинацию клавиш CTRL+W ищем строку TCP_IN и добавляем в неё наш порт в самом конце.

    Смена порта для SSH

    Сохраняем изменения, нажав на комбинацию клавиш CRTL+X, Вас спросят сохранить изменения или нет, для сохранения изменений нажимаем на кнопку «Y», далее «Enter», чтобы закрыть отредактированный файл.

    Перезагружаем CSF командной:
    csf -r
    Перезагружаем службу SSH:
    service sshd restart
    Проверяем подключение по новому порту SSH:
    ssh p номер_порта root@IP_адрес_сервера

    Как изменить порт SSH по умолчанию в Linux

    SSH (Secure Shell) — широко распространённый протокол для безопасного удалённого доступа и управления Linux-серверами. По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию может обеспечить дополнительный уровень безопасности сервера, затруднив проведение автоматизированных атак или сканирования.

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

    Шаг 1: Редактирование файла конфигурации SSH

    Чтобы изменить порт SSH по умолчанию, необходимо отредактировать файл конфигурации SSH. Откройте файл с помощью текстового редактора, например nano или vi :

    sudo nano /etc/ssh/sshd_config

    Найдите в файле следующую строку:

    #Port 22

    Раскомментируйте строку, удалив символ # , и измените номер порта ( 22 ) на нужный вам номер порта. Например, для изменения порта на 2222 :

    Port 2222

    Сохраните и закройте файл конфигурации.

    Шаг 2: Настройка правил файрвола

    Если вы используете файрвол, то необходимо настроить его правила таким образом, чтобы разрешить входящие соединения на новом порту SSH. Например, если вы используете UFW (Uncomplicated Firewall), выполните следующие команды для обновления правил файрвола:

    sudo ufw allow 2222/tcp 
    sudo ufw delete allow 22/tcp
    sudo ufw reload

    Замените 2222 на новый номер порта, заданный в конфигурационном файле SSH.

    Шаг 3: Перезапуск службы SSH

    После обновления конфигурационного файла и правил файрвола перезапустите службу SSH для применения изменений:

    sudo systemctl restart ssh

    Шаг 4: Проверка нового порта SSH

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

    ssh -p 2222 user@your_server_ip

    Замените 2222 на новый номер порта, user — на имя пользователя, а your_server_ip — на IP-адрес вашего сервера.

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

    Используемые команды

    • nano — Текстовый редактор для Linux
    • ufw — Утилита командной строки Uncomplicated Firewall
    • systemctl restart — Перезапуск системной службы
    • ssh — Утилита командной строки Secure Shell

    Заключение

    В этом руководстве мы показали, как изменить порт SSH по умолчанию в системе Linux. Изменив порт SSH по умолчанию, вы добавите дополнительный уровень безопасности своему серверу, что затруднит проведение автоматизированных атак или сканирования. Следует помнить, что это лишь один из многих шагов по обеспечению безопасности Linux-сервера. Регулярное обновление программного обеспечения, использование надёжных методов аутентификации и следование лучшим практикам безопасности позволят ещё больше повысить общую безопасность системы.

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

    Смена номера порта для SSH

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

    Один из методов защиты от такой атаки и не только является изменение стандартного SSH-порта для подключения к VPS.

    Информация об используемом порте располагается в конфигурационном файле SSH-сервера, который обычно хранится в директории /etc/ssh/sshd_config.

    Для того, чтобы изменить SSH-порт, необходимо выполнить следующие шаги:

    1. Подключаемся к серверу по SSH с правами root;

    2. Проверяем перечень открытых портов командой:

    netstat -tupln | grep LISTEN

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

    3. Открываем конфигурационный файл sshd_config при помощи любого установленного текстового редактора:

    Для редактора vi:

    vi /etc/ssh/sshd_config

    Для редактора nano:

    nano /etc/ssh/sshd_config

    4. Находим в файле запись:

    Port 22

    5. Изменяем значение порта на другое и сохраняем изменения командой:

    Для редактора vi:

    Для редактора nano:

    CTRL+O

    6. Для того, чтобы изменения вступили в силу, необходимо перезагрузить SSH-сервер. Это можно выполнить командой:

    /etc/init.d/ssh restart
    /etc/init.d/sshd restart
    systemctl restart sshd.service

    7. На этом процесс изменения SSH порта завершен и вы можете произвести подключение согласно новой настройке.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *