How to Change SSH Port in Ubuntu 18.04

How to Change SSH Port in Ubuntu 18.04 Хостинг

Sep. 07, 2016

Содержание
  1. Getting Started
  2. Навигация по записям
  3. Процедура изменения порта SSH для Linux или Unix Server
  4. Найдите файл sshd_config, введя следующую команду
  5. Отредактируйте файл и установите параметр порта
  6. Примечание о пользователях SELinux
  7. Обновление брандмауэра для приема порта ssh 2222
  8. Перезапустить службу sshd.
  9. Шаг 1: Резервное копирование текущей конфигурации SSH
  10. Шаг 2: Измените порт службы SSH
  11. Шаг 4: Откройте порт SSH на Firewalld
  12. Шаг 5: Перезапустите службу sshd
  13. Other SSH Tutorials
  14. Включение SSH в Ubuntu
  15. Использование нового порта SSH
  16. Summary
  17. Использование нового порта SFTP
  18. Управление портами в Ubuntu и Debian
  19. Notes Before Changing The Default SSH Port
  20. Изменение порта SFTP
  21. 1. Выбор нового номера порта
  22. 2. Настройка брандмауэра
  23. 3. Настройка SFTP / SSH
  24. Подключение к SSH за NAT
  25. Steps To Change The SSH Port In CentOS
  26. Use Putty To Connect The Server
  27. Disable SELinux Before Changing SSH Port
  28. Edit The sshd File To Change SSH Port
  29. Restart sshd Service
  30. Изменение порта SSH
  31. 1. Выбор нового номера порта
  32. 2. Настройка брандмауэра
  33. 3. Настройка SSH
  34. What Is SSH?
  35. Управление портами в Centos
  36. Отключение SSH в Ubuntu
  37. How to change SSH port on CentOS 7
  38. Какой порт использует SFTP
  39. Подключение к SSH-серверу
  40. Tutorial
  41. Выводы
  42. Выводы
  43. Заключение
  44. Выводы
  45. Conclusion

Getting Started

Confirm that you have the following before you follow this guide:
• 1 Node (Cloud Server or Dedicated Server) running CentOS 7.
• Root access to the node.

We are at your service by teaching you how to change the SSH port in the CentOS operating system. The default port of the SSH service is 22, and if we have it by default, hackers may be able to attack the server through port 22, take control of it, or cause irreparable damage to it. Therefore, we suggest that you change the default SSH port to increase the security of your server.

Secure Shell (SSH) — это сетевой протокол, используемый для безопасного соединения между клиентом и сервером. Каждое взаимодействие между сервером и клиентом зашифровано.

В этом руководстве объясняется, как включить SSH на компьютере с Ubuntu.

Включение SSH позволит вам удаленно подключаться к вашей системе и выполнять административные задачи. Вы также сможете безопасно передавать файлы через scp и sftp .

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

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

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

SFTP (SSH File Transfer Protocol) — это безопасный файловый протокол для передачи файлов между двумя хостами по зашифрованному соединению. Он также позволяет выполнять различные файловые операции с удаленными файлами и возобновлять передачу файлов.

SFTP можно использовать как замену устаревшему протоколу FTP. Он имеет все функции FTP, но с более безопасным соединением.

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

Не путайте SFTP с FTPS. Оба протокола служат одной цели. Однако FTPS означает FTP Secure и является расширением стандартного протокола FTP с поддержкой TLS.

Как много времени проходит с момента заказа сервера на хостинге до первого подключения к готовому серверу? Несколько минут. На сколько полученный сервер готов к тому, чтобы использовать его на полную? На 100%. Ну или почти на 100. Точнее, совсем не на 100. Новый сервер подобен новорождённому ребёнку. У него одежды, нет приобретённого иммунитета и нет почти никаких навыков. Он уязвим для любого внешнего воздействия. И защиту от окружающих угроз мы должны ему дать. Наш новый сервер на начальном этапе не готов противостоять всему, что приходит к нему извне. А значит, его необходимо оснастить защитой. Такая защита для сервера – брандмауэр, или файрвол (firewall), или межсетевой экран.

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

This tutorial explains how to configure Ubuntu OpenSSH server to run on some specific port number rather than the default port number 22, in order to increase the overall security of your Ubuntu server.

The SSH server on Ubuntu listen on TCP port 22 by default. You can run the netstat command to check ssh port currently running on:

netstat -tulnp | grep ssh
run the netstat command to check ssh port currently running on

As you can see, the SSH daemon is currently running on TCP port 22.

grep -i port /etc/ssh/sshd_config

The Port directive is commented out by default, which means SSH daemon listens on  the default port 22.

The Port directive of the sshd_config config file specifies the port number that ssh server listens on
  1. Open the /etc/ssh/sshd_config file and locate the line:
    #Port 22
  2. Then, uncomment (Remove the leading # character) it and change the value with an appropriate port number (for example, 22000):
    Port 22000
  3. Restart the SSH server:
    systemctl restart sshd

After that, run the netstat command and make sure that the ssh daemon now listen on the new ssh port:

netstat -tulpn | grep ssh

When connecting to the server using the ssh command, you need to specify the port to connect using the -p flag:

ssh -p 22000 192.168.1.100

Note that if the Firewall is enabled, you need to add a rule to allow new SSH port.

На тесте изменю порт SSH в Ubuntu Server 14.0.4 LTS и Ubuntu Server 16.0.4 LTS.

Откроем конфигурацию SSH например в текстовом редакторе nano (в nano клавиши Ctrl+X для выхода, y/n для сохранения или отмены изменений):

sudo nano /etc/ssh/sshd_config

Найдем строчку «Port 22» и изменим её например на «Port 58222«.

Чтобы применить изменения перезапустим ssh (на разных системах он может перезагружаться по разному, по этому приведу список возможных команд):

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

После перезапуска SSH, он станет доступен по новому порту, а текущая сессия на старом останется активной, по этому не отключаясь для проверки попробуем подключиться по новому порту, если не пускает, то возможно в системе работает фаервол и нужно в нем разрешить новый порт, например в iptables это делается так (где 58222 наш новый порт):

sudo iptables -A INPUT -p tcp --dport 58222 -j ACCEPT

Можно разрешить средствами iptables подключение к SSH только с указанного диапазона IP адресов:

sudo iptables -A INPUT -d 192.168.0.0/24 -p tcp --dport 58222 -j ACCEPT

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

sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT

Пример команды для подключения из Linux к SSH по нестандартному порту:

ssh -p 58222 user@192.168.0.2

Посмотреть в системе на каком порту и на каких сетевых интерфейсах работает SSH можно так:

netstat -tulpan | grep ssh

По умолчанию подключение к VPS от RUVDS с помощью SSH происходит через 22-й порт. Использование стандартного порта сильно увеличивает риск взлома вашего сервера при использовании брут фос (brute-force) атак. Как один из способов защиты, но не единственный, от данного вида атак является смена стандартного 22 порта.

Обычно информация об используемом порте находится на вашем виртуальном сервере (VPS) в файле sshd_config, который находится в директории /etc/ssh/

Чтобы сменить SSH-порт сделайте следующее:
1. Заходим на сервер помощью SSH-клиента PuTTY
2. Проверяем список открытых портов командой:

netstat -tupln | grep LISTEN

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

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

vi /etc/ssh/sshd_config
nano /etc/ssh/sshd_config

4. Ищем в файле sshd_config запись:

Запись в файле sshd_config

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

После нажимаем подтвердить, с помощью клавиши Enter на клавиатуре

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

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

Войдите в раздел “Мои серверы” на сайте RUVDS.com и нажмите кнопку “Play” под скриншотом вашего сервера.

Мои серверы RUVDS

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

How to Change SSH Port in Ubuntu 18.04

OpenSSH (или Secure SHell) является стандартом для удаленного доступа, заменяющего протокол telnet.

Однако установка ssh по умолчанию неидеальна, и при запуске ssh-сервера есть несколько простых шагов, которые могут значительно упростить установку.

Как установить OpenSSH на Windows 10

В этом руководстве вы узнаете, как защитить OpenSSH на CentOS 7.4.

 # vim /etc/ssh/sshd_config 
 # systemctl restart sshd.service1 

И теперь, вам нужно ограничить вход пользователя и для этого вам нужно запустить следующую команду:

 # vim /etc/ssh/sshd_config 
 # systemctl restart sshd.service 

Вы также можете изменить порт SSH, который по умолчанию 22, используя следующую команду:

 <span class="code_sectcolor7"># vim /etc/ssh/sshd_config 

И изменить значение Port:

Читайте также:  16 бесплатных веб-хостингов (2022), чтобы рассмотреть - разместить ваши сайты на $ 0

Далее разрешите порты и перезапустите брандмауэр, используя следующие команды:

# firewall-cmd --add-port=3456/tcp
# firewall-cmd --add-port=3456/tcp –permanent
# firewall-cmd --reload 

Теперь вы можете добавить политику SELinux и для этого использовать следующую команду.

 #  semanage port -a -t ssh_port_t -p tcp 3456 

Также, отфильтруйте по умолчанию порт 22 в брандмауэре

 # firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 0 -p tcp --dport 22 -m state --state NEW -m recent --set
# firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT_direct 1 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 30 --hitcount 4 -j REject --reject-with tcp-reset 

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

 # firewall-cmd --reload 

Вот вам и простой метод защиты openssh на centos 7.4.

Пожалуйста, не спамьте и никого не оскорбляйте.

Это поле для комментариев, а не спамбокс.

Рекламные ссылки не индексируются!

Для новичков администраторов сервера Linux / Unix. Как изменить SSH-порт для моего Linux или Unix-сервера с помощью опции командной строки?

Вы можете легко изменить порт SSH для своего Linux или Unix-сервера. Порт ssh, определенный в файле sshd_config. Этот файл находится в каталоге /etc/ssh/sshd_config .

Процедура изменения порта SSH для Linux или Unix Server

  1. Откройте приложение терминала и подключитесь к серверу через SSH.
  2. Найдите файл sshd_config, набрав команду.
  3. Отредактируйте файл и установите параметр «Port».
  4. Сохраните и закройте файл.
  5. Перезапустите службу sshd.

Найдите файл sshd_config, введя следующую команду

Отредактируйте файл и установите параметр порта

Введите следующую команду:

Найдите строку, которая будет выглядеть следующим образом:

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

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

Примечание о пользователях SELinux

Чтобы изменить порт на 2222, введите следующую команду :

Обновление брандмауэра для приема порта ssh 2222

Если вы используете UFW на Ubuntu / Debian Linux , введите:

Синтаксис для iptables выглядит следующим образом

Синтаксис для pf firewall выглядит следующим образом (FreeBSD / OpenBSD / NetBSD Unix) в вашем pf.conf:

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

Перезапустить службу sshd.

Введите следующую команду в CentOS / RHEL / Fedora Linux:

ИЛИ, если вы используете CentOS / RHEL / Fedora Linux с systemd:

ИЛИ, если вы используете Ubuntu / Debian / Mint Linux:

ИЛИ, если вы используете Ubuntu / Debian / Mint Linux с systemd:

Или, если вы используете FreeBSD Unix, введите:

Нет похожих статей.

В этом руководстве мы увидим, как вы можете изменить порт прослушивания службы SSH в CentOS 7/8, RHEL 7/8 и Fedora 31/30/29, когда SELinux работает в режиме Enforcing.

Когда SELinux работает в принудительном режиме, он применяет политику SELinux и запрещает доступ на основе правил политики SELinux.

Стандартным портом SSH в большинстве систем Linux / Unix является TCP-порт 22.

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

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

Выполните шаги, описанные ниже, чтобы изменить SSH-порт на сервере CentOS / RHEL / Fedora или на рабочем столе, когда SELinux работает в режиме enforce.

Шаг 1: Резервное копирование текущей конфигурации SSH

Войдите в систему CentOS / RHEL / Fedora и создайте резервную копию текущего файла конфигурации демона ssh.

date_format=`date +%Y_%m_%d:%H:%M:%S`
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config_$date_format
$ ls /etc/ssh/sshd_config*
/etc/ssh/sshd_config /etc/ssh/sshd_config_2019_09_05:21:40:10

Шаг 2: Измените порт службы SSH

sudo vi /etc/ssh/sshd_config

Найдите строку, которая имеет:

#Port 22

Раскомментируйте строку «Port» и настройте новый порт для службы SSH.

Я буду использовать порт 33000.

Port 33000

Сохраните изменения и закройте файл.

Шаг 3: Разрешить новый SSH-порт в SELinux

$ semanage port -l | grep ssh
ssh_port_t tcp 22

Если вы хотите разрешить привязку sshd к настроенному сетевому порту, вам нужно изменить тип порта на ssh_port_t.

sudo semanage port -a -t ssh_port_t -p tcp 33000

Убедитесь, что новый порт был добавлен в список разрешенных портов для ssh.

$ semanage port -l | grep sshssh_port_t tcp 33000, 22

Шаг 4: Откройте порт SSH на Firewalld

Всегда рекомендуется поддерживать службу брандмауэра и разрешать только доверенные службы.

sudo firewall-cmd --add-port=33000/tcp --permanet
sudo firewall-cmd --reload

Если Firewalld не установлен, используйте yum для его установки и запуска службы.

sudo yum -y install firewalld
sudo systemctl enable --now firewalld
sudo firewall-cmd --add-port=33000/tcp --permanent
sudo firewall-cmd --reload

Теперь вы можете удалить службу SSH.

sudo firewall-cmd --remove-service=ssh --permanent
sudo firewall-cmd --reload

Шаг 5: Перезапустите службу sshd

Перезапустите службу ssh, чтобы изменения вступили в силу.

sudo systemctl restart sshd

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

$ netstat -tunl | grep 33000tcp 0 0 0.0.0.0:33000 0.0.0.0:* LISTEN
tcp6 0 0 :::33000 :::*

Пожалуйста, не спамьте и никого не оскорбляйте.

Это поле для комментариев, а не спамбокс.

Рекламные ссылки не индексируются!

In this guide, we are going to learn how to Configure SSH to use a different Port on CentOS 7.

Even though configuring SSH Server to listen on a different port other than the default port, 22, may not gain you much from security point of view, there are still some advantages that goes with it;

  • reduces attack surface by shielding your server against automated random attacks that targets services running on default ports,

Step through this guide to learn how to configure SSH server to listen on a different port.

  1. Login to your server and open the OpenSSH server configuration file, /etc/ssh/sshd_config for editing.
    vim /etc/ssh/sshd_config
  2. Uncomment the line, # Port 22 and set it to a desired port. But as a safety measure, just in case things go south, configure sshd to listen on two ports, the default port and the desired port such that your config files have two lines like as shown below. Once you confirm that the new port works fine, remove the default port setting.
    Port 22
    Port 3456 <where 3456 is your preferred port>
    • Ensure that no other service is using the new port.
    • Replace the ports accordingly.
  3. If firewall is running, allow the new port on through it.
    firewall-cmd --add-port=3456/tcp --permanent
    firewall-cmd --reload
  4. Restart sshd service
    systemctl restart sshd
  5. If by restarting sshd you encounter such an error;
    Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.

    And by running journalctl -xe as suggested you find out the sshd fails to start with new port set due SELinux permissions as shown in the journalctl output below;

    # journalctl -xe
    ...output snipped...Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.510:4): avc: denied { name_bind } for pid=1074 comm="sshd" src=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres
    Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on 0.0.0.0 failed: Permission denied.
    Sep 16 08:21:12 server1 sshd[1074]: error: Bind to port 6378 on :: failed: Permission denied.
    Sep 16 08:21:12 server1 kernel: type=1400 audit(1537086072.515:5): avc: denied { name_bind } for pid=1074 comm="sshd" src=6378 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=system_u:object_r:unres
    Sep 16 08:21:12 server1 sshd[1074]: fatal: Cannot bind any address.
    Sep 16 08:21:12 server1 systemd[1]: sshd.service: main process exited, code=exited, status=255/n/a
    Sep 16 08:21:12 server1 systemd[1]: Failed to start OpenSSH server daemon....output snipped...

    Here is how to fix this. You need to tell SELinux about this change by running the command below.

    semanage port -a -t ssh_port_t -p tcp 3456

    Now, verify that SELinux has allowed sshd to listen on the two ports:

    semanage port -l | grep ssh
    ssh_port_t tcp 3456, 22

    If semanage command is not found, check which package provides semanage and install that package;

    yum whatprovides semanage
    ...output snipped...policycoreutils-python-2.5-22.el7.x86_64 : SELinux policy core python utilities
    Repo : base
    Matched from:
    Filename : /usr/sbin/semanage
    yum install -y policycoreutils-python
  6. Test that you can login to the server with new SSH port
    ssh -p 3456 [email protected]

That marks the end of our simple guide on how to Configure SSH to use a different Port on CentOS 7.

Other SSH Tutorials

Connect to VNC Server via SSH Tunnel

Monitor Linux Hosts using Nagios check_by_ssh Plugin

Configure SSH Public Key Authentication in Linux

How to Enable RDP/SSH File Transfer Over Guacamole

Включение SSH в Ubuntu

По умолчанию при первой установке Ubuntu удаленный доступ через SSH не разрешен. Включение SSH в Ubuntu довольно просто.

Выполните следующие шаги от имени пользователя root или пользователя с правами sudo для установки и включения SSH в вашей системе Ubuntu:

  1. Откройте терминал с помощью Ctrl+Alt+T и установите пакет openssh-server :

     sudo apt update sudo apt install openssh-server

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

    How to Change SSH Port in Ubuntu 18.04

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

     sudo systemctl status ssh

    Вывод должен сообщить вам, что служба запущена и разрешена для запуска при загрузке системы:

     ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago ...

    Нажмите q чтобы вернуться в командную строку.

  3. Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. Если в вашей системе включен брандмауэр , обязательно откройте порт SSH:

     sudo ufw allow ssh

Это оно! Теперь вы можете подключиться к своей системе Ubuntu через SSH с любого удаленного компьютера. В системах Linux и macOS по умолчанию установлены клиенты SSH. Для подключения с компьютера Windows используйте SSH-клиент, например PuTTY .

Читайте также:  2. Скачивание и установка Joomla -

Использование нового порта SSH

Чтобы указать порт, вызовите команду ssh за которой следует параметр -p <port_number> :

ssh -p 5522 [email protected]_host_or_ip

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

Summary

You can easily change the SSH port through the sshd_config file. The only thing that you should be careful of, is to add the new port number to your firewall before you apply the new setting to prevent any disruption in the function of the server.

Использование нового порта SFTP

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

sftp -P 4422 [email protected]_host_or_ip

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

Управление портами в Ubuntu и Debian

В операционных системах Ubuntu и Debian для управления брандмауэром довольно часто применяется утилита iptables. Её упрощённым интерфейсом является UFW (Uncomplicated Firewall). Открытие доступа к серверу для какого-либо приложения происходит путём регистрации этого приложения в UFW.

В Ubuntu интерфейс UFW как правило присутствует по умолчанию, в Debian же необходимо будет сначала его проинсталлировать. Перед установкой брандмауэра рекомендуется обновить репозитории:

$ sudo apt update
$ sudo apt install ufw

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

$ sudo ufw app list

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

$ sudo ufw allow SSH

Эту команду также можно применить используя соответствующий номер порта вместо имени протокола. Для ssh это, как правило, порт 22:

$ sudo ufw allow 22 

В Ubuntu команда для разрешения подключения по ssh выглядит как:

$ sudo ufw allow OpenSSH

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

$ sudo ufw enable

Теперь, можно добавить в UFW правило, которое позволит разрешить передачу данных, например, по порту 80, или другими словами, при помощи протокола http. Это можно прописать командой:

$ sudo ufw allow 80
$ sudo ufw allow http

По аналогии можно также разрешить трафик с использованием порта 443, то есть по протоколу https:

$ sudo ufw allow 443
$ sudo ufw allow https

Подобными инструкциями можно давать разрешения для подключений, использующих несколько портов. Например, так выглядит команда на открытие целого диапазона портов (32810-32814):

$ sudo ufw allow 32810:32814/udp
$ sudo ufw allow from 10.10.10.233

Или из одной определённой подсети:

$ sudo ufw allow from 10.10.10.0/24
$ sudo ufw allow from 10.10.10.233 to any port 22

Естественно существует возможность и закрыть доступ для уже открытого подключения через определённый порт. Для этого используется команда deny. Следующей командой можно запретить подключения по протоколу http:

$ sudo ufw deny http
$ sudo ufw deny from 10.10.10.233

Уже созданные правила можно также удалить. Сделать это можно по номеру правила. Чтобы узнать номера правил, используйте следующую команду:

$ sudo ufw status numbered

Вывод данной команды выглядит следующим образом:

Вывод команды sudo ufw status numbered - Управление портами в Linux

Номера правил указаны в скобках в начале строки. Например, правило для подключения по 443-му порту имеет номер 3. Исходя из этого, команда для удаления этого правила будет выглядеть как:

$ sudo ufw delete 3

То же самое можно сделать командой:

$ sudo ufw delete allow 443/tcp

Посмотреть текущее состояние межсетевого экрана позволяет команда:

$ sudo ufw status
Просмотр статуса UFW

Для отключения брандмауэра служит следующая инструкция:

$ sudo ufw disable

Notes Before Changing The Default SSH Port

  • It is better to specify a 4 or 5 digit port. Also, remember to uses a free SSH port.
  • If a firewall is used in the data center network, be sure to inform the data center of the desired port to open it.
  • Be sure to write down the port you want to allocate to SSH.
  • Be careful to change the SSH port as any mistake may cause you to have trouble accessing the server.
  • If you do not use SELinux, you should just disable it to prevent any issue on the function of your server.

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

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

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

Следующие шаги описывают, как изменить порт SSH на машинах Linux.

1. Выбор нового номера порта

В Linux номера портов ниже 1024 зарезервированы для хорошо известных служб и могут быть связаны только с пользователем root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов, рекомендуется выбирать порт выше 1024.

В этом примере показано, как изменить порт SFTP / SSH на 4422, но вы можете выбрать любой порт по своему вкусу.

2. Настройка брандмауэра

Перед изменением порта SFTP / SSH вам необходимо открыть новый порт в брандмауэре.

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

sudo ufw allow 4422/tcp

В CentOS инструментом управления брандмауэром по умолчанию является FirewallD. Чтобы открыть порт, введите следующие команды:

sudo firewall-cmd --permanent --zone=public --add-port=4422/tcpsudo firewall-cmd --reload

Пользователям CentOS также необходимо настроить правила SELinux, чтобы разрешить новый порт SSH:

sudo semanage port -a -t ssh_port_t -p tcp 4422

Если вы используете другой дистрибутив Linux, в котором работает iptables, чтобы открыть новый порт, выполните:

sudo iptables -A INPUT -p tcp --dport 4422 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

3. Настройка SFTP / SSH

Конфигурация сервера SSH хранится в /etc/ssh/sshd_config . Откройте файл в текстовом редакторе:

sudo vim /etc/ssh/sshd_config

Найдите строку, начинающуюся с Port 22 . Обычно эта строка закомментирована с помощью символа решетки ( # ). Удалите хэш # и введите новый номер порта SSH:

Будьте очень осторожны при редактировании файла конфигурации. Неправильная конфигурация может помешать запуску службы SSH.

После этого сохраните файл и перезапустите службу SSH, чтобы изменения вступили в силу:

sudo systemctl restart ssh

В CentOS служба SSH называется sshd :

sudo systemctl restart sshd

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

ss -an | grep 4422

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

tcp LISTEN 0 128 0.0.0.0:4422 0.0.0.0:*
tcp ESTAB 0 0 192.168.121.108:4422 192.168.121.1:57638
tcp LISTEN 0 128 [::]:4422 [::]:*

Подключение к SSH за NAT

ssh [email protected]_ip_address

Если вы открываете свою машину для доступа в Интернет, рекомендуется принять некоторые меры безопасности. Самый простой — настроить маршрутизатор на прием трафика SSH на нестандартный порт и пересылку его на порт 22 на машине, на которой запущена служба SSH.

Вы также можете настроить аутентификацию на основе ключа SSH и подключиться к компьютеру с Ubuntu без ввода пароля.

Steps To Change The SSH Port In CentOS

  1. Enter SSH with the help of PuTTY software.
  2. Disable SELinux
  3. Edit the sshd_config file and change port 22 to the desired port.
  4. Restart sshd service.

Use Putty To Connect The Server

You can the below educational link in order to learn how to use putty to connect to a Linux VPS.

Disable SELinux Before Changing SSH Port

To disable SELinux, open the below file and set the mode to disabled.

/etc/selinux/config

disable SELinux to change ssh port

Edit The sshd File To Change SSH Port

nano /etc/ssh/sshd_config

open sshd to change ssh port

If the nano package is not installed, try to install it with this command.

yum install nano

Next, we need to change the number 22 specified in the image above to another value (for example port 14252). We also need to remove the # character from the beginning of this line to include this line as an active operating command on the server.

change ssh port in sshd

 You should also add the new port to your firewall to prevent any disruption, using this command after changing SSH port.

sudo firewall-cmd --zone=public --permanent --add-port=14252/tcp

after you change ssh port, add it to firewall

Restart sshd Service

sudo systemctl restart sshd

To restart SSHD service use the below command and if you faced error with restarting this service, try to reboot the server. Once the server was ready, you can easily connect to the server through putty and the new port number should be used instead of port 22 but the case is, this time you are more secure than the last connection!

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

Изменить SSH-порт изображения — простая задача. Все, что вам нужно сделать, это отредактировать файл конфигурации SSH и перезапустить службу.

В следующих разделах объясняется, как изменить порт SSH в системе Linux.

1. Выбор нового номера порта

В Linux номера портов ниже 1024 зарезервированы для хорошо известных служб и могут быть связаны только с пользователем root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов в будущем, рекомендуется выбрать порт выше 1024.

В этом примере изменится порт SSH на 5522, вы можете выбрать любой порт, который хотите.

2. Настройка брандмауэра

Перед изменением порта SSH вам необходимо настроить брандмауэр, чтобы разрешить трафик на новый порт SSH.

Если вы используете UFW, инструмент настройки брандмауэра по умолчанию для Ubuntu, выполните следующую команду, чтобы открыть новый порт SSH:

sudo ufw allow 5522/tcp

В CentOS инструментом управления брандмауэром по умолчанию является FirewallD. Чтобы открыть новый порт, выполните:

sudo firewall-cmd --permanent --zone=public --add-port=5522/tcpsudo firewall-cmd --reload

Пользователям CentOS также необходимо настроить правила SELinux:

sudo semanage port -a -t ssh_port_t -p tcp 5522

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

sudo iptables -A INPUT -p tcp --dport 5522 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

3. Настройка SSH

Откройте файл конфигурации SSH /etc/ssh/sshd_config текстовом редакторе:

sudo vim /etc/ssh/sshd_config

Найдите строку, начинающуюся с Port 22 . В большинстве случаев эта строка начинается с символа решетки ( # ). Удалите хэш # и введите новый номер порта SSH:

Читайте также:  Безопасность хостинга: как это устроено и на что обращать внимание при выборе провайдера

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

После этого сохраните файл и перезапустите службу SSH, чтобы изменения вступили в силу:

sudo systemctl restart ssh

В CentOS служба ssh называется sshd :

sudo systemctl restart sshd

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

ss -an | grep 5522

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

tcp LISTEN 0 128 0.0.0.0:5522 0.0.0.0:*
tcp ESTAB 0 0 192.168.121.108:5522 192.168.121.1:57638
tcp LISTEN 0 128 [::]:5522 [::]:*

What Is SSH?

SSH means a secure shell, a free version of the SSH connection tool that allows a secure connection to the network. The SSH encrypts all transmitted data (including passwords), eliminating the possibility of others accessing the network data. SSH is a standard protocol for the encrypted exchange of information over a network. Using ssh service software, remote access to a computer on the network is provided.

SSH (uppercase) refers to the SSH protocol and ssh (lowercase) means remote communication software. One of the free software for establishing SSH connection, which is called Putty, allows connecting to Linux servers with commands.

Управление портами в Centos

Клиентским интерфейсом для работы с межсетевым экраном в Centos является программа firewalld. Как правило, firewalld уже по умолчанию входит в состав служб Centos. Но если вдруг это не так, для его установки используйте следующие команды:

$ sudo dnf update -y$ sudo dnf install firewalld -y

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

Сообщение об уже установленном firewalld

Текущее состояние службы можно увидеть набрав команду:

$ systemctl status firewalld

Если служба работает штатно, то вывод команды будет выглядеть так:

Просмотр статуса firewalld

Список приложений, которым доступ в firewalld уже предоставлен, можно увидеть с помощью команды:

$ sudo firewall-cmd --permanent --list-all

Такие приложения перечислены в строке services:

Вывод команды sudo firewall-cmd --permanent --list-all

Чтобы предоставить приложению или протоколу, например, http, возможность производить подключения к нашему серверу, необходимо использовать команду следующего вида:

$ sudo firewall-cmd --permanent --add-service=http

Этот протокол должен добавиться в строку services:

Вывод команды sudo firewall-cmd --permanent --list-all - Управление портами в Linux

Аналогичным образом можно открыть доступ для подключений к серверу по протоколу https:

$ sudo firewall-cmd --permanent --add-service=https
Вывод команды sudo firewall-cmd --permanent --list-all - Управление портами в Linux

В firewalld также есть возможность предоставить доступ для подключений по определённому порту. Так, например, будет выглядеть команда для открытия доступа по udp-порту 32810:

$ sudo firewall-cmd --zone=public --add-port=32810/udp

А так пишется команда для открытия доступа по пулу портов, например, для udp-портов с 32811 по 32814:

$ sudo firewall-cmd --zone=public --add-port=32811-32814/udp

И чтобы убедиться, что данные порты добавлены в список открытых, необходимо использовать следующую инструкцию:

$ sudo firewall-cmd --zone=public --list-ports
Список открытых портов в firewalld

Доступ для подключений по определённому порту можно также и заблокировать. Например, закрытие доступа по udp-порту 32814 осуществляется командой:

$ sudo firewall-cmd --zone=public --remove-port=32814/udp

И наконец, для применения всех внесённых изменений, брандмауэр необходимо перезапустить:

$ sudo firewall-cmd --reload

Отключение SSH в Ubuntu

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

sudo systemctl disable --now ssh

Позже, чтобы снова включить его, введите:

sudo systemctl enable --now ssh

How to change SSH port on CentOS 7

change ssh port

In this guide, we will show you how you can change SSH port number to any desired choice, on your own CentOS 7 server.

Какой порт использует SFTP

SFTP является подсистемой SSH и обеспечивает тот же уровень безопасности, что и SSH.

Порт SFTP по умолчанию — 22 .

Подключение к SSH-серверу

ssh [email protected]_address
ip a

How to Change SSH Port in Ubuntu 18.04

ssh [email protected]

При первом подключении вы увидите такое сообщение:

The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?

Введите yes и вам будет предложено ввести пароль.

Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.[email protected]'s password:

После ввода пароля вы увидите сообщение Ubuntu по умолчанию:

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage
...

Теперь вы вошли в систему на своей машине с Ubuntu.

Tutorial

To change the SSH port of your server, you must edit the configuration file for the SSH daemon that is found in /etc/ssh/sshd_config. Before we do this step however, we will create a backup of the existing sshd configuration file as a matter of good practice. Use the copy command cp with the flag -p, which preserves last edited information, to make a copy of the file and save it in a backup file whose name includes the date, which is achieved by appending the result of $(date +%F) to the filename. The %F ensures that the full date in year-month-date format is used when obtaining the current date with date.

cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.orig.$(date +%F)

With our backup file saved, you are now free to modify the sshd configuration file as you wish. Open this file in the vi text editor:

When choosing a new port number, try to avoid using a common port from this list: 21, 80, 443, 25, 110, 113. Also stay away from ports that are already in use by your CentOS 7 server. Generally, it is recommended to use a new port number that is over 1024. If you have difficulty choosing a new port number however, you can look up what common ports are used online through lists of well-known TCP and UDP port numbers that are available, and choose one that is not listed.

systemctl restart sshd.service

By default, SELinux only allows SSH on the port 22. We must change this to our new port. In our example, we are using 2222 but you should replace this number with the number of your port in the below command, which uses semanage port to configure ports in the SELinux policy:

semanage port -a -t ssh_port_t -p tcp 2222

You can verify that SELinux has the new port by searching the output of the semanage port -l command, which lists the ports that are working with SELinux. The tool grep is used to search this output for you, and outputs only the relevant lines that contain the word SSH. To do the verification, run:

ssh_port_t tcp 2222, 22

Next, to allow the new port in your firewall, you have to run add the port to the public zone permanently. Replace the number 2222 below with your own port number that you set in the SSH configuration file and run:

firewall-cmd --permanent --zone=public --add-port=2222/tcp

You must restart the firewall for the changes to be done. This is extremely important is that otherwise, if your changes are not applied you will be locked out of SSH to this server if you logout! Reload firewall using:

Once the firewalld and SELinux configuration is complete (or if you have skipped to this section), you can test that your new SSH port configuration is working. The command ss calls a utility that investigates Linux sockets, which is just a complicated term for a communication point for the server. This command will let you find the port that is listening for SSH on your server, and we can search the output for the exact port numbers for SSH. To do this, first enter:

The output will look something like this:

Ensure that you see your new port number in the output, much like we can see 2222 in the line above for our port we are using in the tutorial.

Выводы

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

Для получения дополнительной информации о том, как настроить SSH-сервер, прочтите руководство по SSH / OpenSSH / настройке Ubuntu и официальную страницу руководства по SSH .

Выводы

Порт SFTP по умолчанию — 22. Однако вы можете изменить порт на любой номер.

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

Заключение

Итак, мы рассмотрели установку и запуск межсетевых экранов в операционных системах Linux, таких как Ubuntu, Debian и Centos. А также, мы научились открывать доступ для подключений к нашему серверу через определённые порты и протоколы.

Выводы

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

Conclusion

Congratulations! Now you have successfully configured a new port for SSH on your CentOS 7 server. If this introduction to the basics was helpful to you, please feel free to share this tutorial with your friends.

Оцените статью
Хостинги