Смена порта SSH
Удалённое администрирование Linux, как правило, осуществляется при помощи SSH (Secure Shell) — сетевого протокола прикладного уровня, позволяющего производить туннелирование TCP-соединений. Вышедший в 1995-м году SSH широко используется и в наши дни. С помощью этого протокола, помимо администрирования операционной системы с помощью командной оболочки, можно выполнять файловые операции и монтировать удалённые файловые системы.
SSH-сервер по умолчанию работает с использованием 22-го TCP-порта. Иногда бывают ситуации когда необходимо изменить этот порт. Например, для превентивной защиты от bruteforce-атак, направленных именно на 22-й порт, или для освобождения этого порта, занятого другим приложением. В этом случае можно изменить порт SSH на любой другой свободный TCP-порт.
Как изменить порт SSH?
В большинстве разновидностей Linux конфигурационный файл SSH-сервера располагается по пути /etc/ssh/sshd_config. Тем не менее, можно воспользоваться и поиском для того, чтобы узнать наверняка. Воспользуйтесь командой:
sudo find /etc/ -name «sshd_config»
В данном случае файл там, где и должен быть. Откройте в текстовом редакторе файл sshd_config:
sudo nano /etc/ssh/sshd_config
Найдите строку Port 22 и измените значение (в нашем примере на Port 222). Возможно в вашем конфигурационном файле эта строка будет закомментирована, то есть выглядит вот так — #Port 22.
В этом случае нужно убрать символ # и выполнить действия, описанные выше:
Сохраните файл. Далее следует перезапустить демон SSH. Выполните команду:
sudo systemctl restart sshd
Для того, чтобы проверить прошла ли удачно смена порта SSH сервера, выполните следующую команду:
sudo netstat -tupln | grep ssh
Будут показаны открытые порты SSH на вашем компьютере:
Строка tcp 0.0.0.0:222 LISTEN говорит о том, что 222-й порт, который назначенный для SSH-демона, успешно используется. В SSH-клиентах, подключаемых к вашему компьютеру, нужно будет изменить порт по умолчанию на назначенный SSH-серверу.
Если на вашем компьютере работает файрвол, не забудьте добавить в его исключения новый порт, назначенный SSH-серверу. Если вы изначально работаете удалённо по SSH-протоколу, сделать это нужно ещё до того, как вы перезапустите демон SSH на сервере, к которому подключены.
Если у вас в качестве файрвола установлен UFV, выполните команду:
Для тех, кто использует iptables, необходимо разрешить новый порт с помощью команды:
sudo /sbin/iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 222 -j ACCEPT
В операционных системах, использующих firewalld, выполните такую команду:
sudo firewall-cmd —permanent —add-port=222/tcp
sudo firewall-cmd reload
Здесь порт 222 — это порт SSH, назначенный мною для примера. Теперь вы знаете как поменять порт SSH чтобы его не трогали боты. А какие методы защиты от ботов используете вы? Напишите в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как изменить порт SSH в Linux
По умолчанию SSH прослушивает порт 22. Изменение порта SSH по умолчанию добавляет дополнительный уровень безопасности к вашему серверу, снижая риск автоматических атак.
В этом руководстве объясняется, как изменить порт SSH по умолчанию в Linux. Мы также покажем вам, как настроить брандмауэр, чтобы разрешить доступ к новому порту SSH.
Лучший способ защитить ваш сервер от атак — настроить брандмауэр так, чтобы он разрешал доступ к порту 22 только с доверенных хостов, и настроить аутентификацию на основе ключа SSH .
Изменение порта SSH
Изменить SSH-порт изображения — простая задача. Все, что вам нужно сделать, это отредактировать файл конфигурации SSH и перезапустить службу.
В следующих разделах объясняется, как изменить порт SSH в системе Linux.
1. Выбор нового номера порта
В Linux номера портов ниже 1024 зарезервированы для хорошо известных служб и могут быть связаны только с пользователем root. Хотя вы можете использовать порт в диапазоне 1-1024 для службы SSH, чтобы избежать проблем с распределением портов в будущем, рекомендуется выбрать порт выше 1024.
В этом примере изменится порт SSH на 5522, вы можете выбрать любой порт, который хотите.
2. Настройка брандмауэра
Перед изменением порта SSH вам необходимо настроить брандмауэр, чтобы разрешить трафик на новый порт SSH.
Если вы используете UFW, инструмент настройки брандмауэра по умолчанию для Ubuntu, выполните следующую команду, чтобы открыть новый порт SSH:
В CentOS инструментом управления брандмауэром по умолчанию является FirewallD. Чтобы открыть новый порт, выполните:
sudo firewall-cmd --permanent --zone=public --add-port=5522/tcp
sudo 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, введите:
Результат должен выглядеть примерно так:
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 [::]:*
Использование нового порта SSH
Чтобы указать порт, вызовите команду ssh за которой следует параметр -p :
Если вы регулярно подключаетесь к нескольким системам, вы можете упростить рабочий процесс, указав все свои подключения в файле конфигурации SSH .
Выводы
В этом руководстве вы узнали, как изменить порт SSH на сервере Linux. Вам также следует настроить аутентификацию на основе ключей SSH и подключаться к серверам Linux без ввода пароля.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как сменить номер порта для 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:
Редактором nano:
4. Ищем в файле sshd_config запись:
5. Меняем номер порта на другой и сохраняем данные изменения при помощи команды:
Если редактор vi:
Если редактор nano:
После нажимаем подтвердить, с помощью клавиши Enter на клавиатуре
6. Чтобы изменения вошли в силу, перезагрузите ваш виртуальный SSH-сервер. Это можно сделать при помощи команды:
systemctl restart sshd.service
Войдите в раздел “Мои серверы” на сайте RUVDS.com и нажмите кнопку “Play” под скриншотом вашего сервера.
7. После перезагрузки изменения SSH порта вступят в силу, и вам нужно будет войти на VPS с новыми настройками подключения, используя новый порт.
8. В случае, если вы забыли какой порт назначили для подключения по SSH, вы всегда сможете зайти на ваш VPS в аварийном режиме, через панель управления на сайте RUVDS, в разделе Мои серверы, кликнув мышью по скриншоту вашего сервера.
How to Change SSH Port in Ubuntu 18.04
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:
As you can see, the SSH daemon is currently running on TCP port 22.
In Ubuntu 18.04, the Port directive of the sshd_config config file specifies the port number that ssh server listens on. You can check the current configuration with following command:
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.
If you want to change the default SSH port in Ubuntu, perform the following steps with root privileges:
- Open the /etc/ssh/sshd_config file and locate the line:
After that, run the netstat command and make sure that the ssh daemon now listen on the new ssh port:
When connecting to the server using the ssh command, you need to specify the port to connect using the -p flag:
Note that if the Firewall is enabled, you need to add a rule to allow new SSH port.