Как сменить номер порта для 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:
vi /etc/ssh/sshd_config
Редактором nano:
nano /etc/ssh/sshd_config
4. Ищем в файле sshd_config запись:

5. Меняем номер порта на другой и сохраняем данные изменения при помощи команды:
Если редактор vi:
Если редактор nano:
После нажимаем подтвердить, с помощью клавиши Enter на клавиатуре
6. Чтобы изменения вошли в силу, перезагрузите ваш виртуальный SSH-сервер. Это можно сделать при помощи команды:
/etc/init.d/ssh restart
/etc/init.d/sshd restart
systemctl restart sshd.service
Войдите в раздел “Мои серверы” на сайте RUVDS.com и нажмите кнопку “Play” под скриншотом вашего сервера.

7. После перезагрузки изменения SSH порта вступят в силу, и вам нужно будет войти на VPS с новыми настройками подключения, используя новый порт.
8. В случае, если вы забыли какой порт назначили для подключения по SSH, вы всегда сможете зайти на ваш VPS в аварийном режиме, через панель управления на сайте RUVDS, в разделе Мои серверы, кликнув мышью по скриншоту вашего сервера.
Как поменять (изменить) порт у 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 на нестандартный, таким образом усилив безопасность своего сервера
Linux — Как сменить номер порта подключения для SSH

В сегодняшней статье мы поговорим о том как изменить стандартный порт подключения SSH в Linux.
При подключении к серверу при помощи протокола SSH используется порт подключения по умолчанию 22. Использовать стандартный порт для подключения сильно увеличивает риск взлома вашего сервера при использовании различных brute-force атак. Один из способов защиты который вы можете проделать так это сменить порт стандартного подключения 22 на какой-нибудь другой.
Менять порт будем с 22 на 2222.
1. Проверка списка открытых портов.
Первым делом нам нужно проверить какие порты сейчас используются, чтобы случайно этот порт не занять. Для того чтобы проверить все открытые порты мы используем команду:
$. netstat -tupln | grep LISTEN

Как видим сейчас у нас на сервере заняты порты 22 и 3306.
2. Добавляем порт в Firewall.
Перед тем как менять порт нам нужно добавить этот порт в правила Firewall чтобы у нас не пропал доступ к серверу после его смены. Для того чтобы добавить правило, воспользуемся командой:
$. firewall-cmd —zone=public —add-port=2222/tcp —permanent
После внесения нового правила не забываем перезапустить все правила.

3. Добавляем порт в SELinux.
По умолчанию SELinux позволяет использовать только порту 22 для SSH, теперь нам нужно добавить порт 2222 в SELinux. Выполните следующую команду:
$. semanage port -a -t ssh_port_t -p tcp 2222
Если у вас команда не работает, то установите пакет policycoreutils-python.
$. sudo yum -y install policycoreutils-python
4. Смена порта SSH подключения.
Следующим шагом после проверки портов мы можем уже заняться его сменой. Все настройки по SSH подключению находятся в файле sshd_config который находится в директории /etc/ssh. Нам нужно открыть этот файл и найти параметр который называется Port и поменять значения с 22 на какой-нибудь другой.

Мы поменяли порт 22 на 2222.
5. Перезапуск SSH сервиса.
После внесенных нами изменений нам нужно SSH сервис перезапустить, чтобы все наши изменения вступили в силу. Чтобы перезапустить сервис можно воспользоваться двумя командами.
$. systemctl restart sshd.service
6. Проверка.
$. netstat -tupln | grep LISTEN

Всем спасибо, я надеюсь что вам моя статья хоть чем-то помогла.
Как проверить, работает ли SSH в Linux?


Изучение
На чтение 4 мин Просмотров 20.9к. Опубликовано 15.07.2021
SSH — это криптографический сетевой протокол, который позволяет управлять удаленным компьютером и изменять его через Интернет. Этот протокол обеспечивает безопасность даже в уязвимой сети. Большинство дистрибутивов Linux используют OpenSSH, проект с открытым исходным кодом, реализующий протокол SSH.
В этом руководстве мы продемонстрируем, как проверить, работает ли SSH в Linux.
SSH работает в Linux
Есть несколько методов, чтобы определить, работает ли SSH в системе в данный момент.
Обратите внимание, что SSH разделен на две части с точки зрения функциональности: SSH-клиент и SSH-сервер. Клиент подключается к серверу по протоколу SSH. Ключ SSH — это стандартная мера безопасности для защиты соединения.
Если SSH установлен и включен, то, вероятно, сервер SSH запущен и работает в системе, ожидая запроса на соединение SSH. Мы можем определить, работает ли SSH-сервер, но он не дает информации о том, активно ли SSH-соединение. Мы можем проверить это, если порт SSH в настоящее время открыт.
SSH процесс
Это первый шаг к проверке того, работает ли SSH в данный момент. Мы ищем статус процесса sshd. В этом руководстве подробно описана работа с процессами Linux.
Используйте команду ps, чтобы вывести список всех процессов и отфильтровать вывод с помощью grep, чтобы проверить, запущен ли процесс SSH.
$ ps aux | grep sshd
В зависимости от состояния процесса вывод будет отличаться.
SSH порт
Каждый процесс / служба в Linux получает свой выделенный порт для связи по сети. SSH по умолчанию настроен на использование порта 22 для удаленной связи. Обратите внимание, что для SSH можно настроить другой порт. Это хорошая мера безопасности для предотвращения различных атак, например, DDoS или перебора.
Даже если программа предназначена для определенного порта, порт не будет открыт, если программа не запущена. Мы можем использовать этот трюк, чтобы проверить, работает ли SSH. Если порт открыт, значит, SSH запущен.
Чтобы проверить список открытых портов, мы будем использовать инструмент netstat. Это специальный инструмент для печати различной сетевой информации, такой как сетевые соединения, таблицы маршрутизации, статистика интерфейса и т. Д. Это руководство демонстрирует всестороннее использование netstat.
Следующая команда проверяет, прослушивает ли SSH порт 22. Если SSH настроен на прослушивание другого порта, используйте этот порт.
$ netstat -plant | grep : 22
Альтернативный метод проверки открытых портов — это проверка файла порта. Следующая команда распечатает список всех открытых файлов портов.
Другой способ — подключиться к порту SSH через Telnet.
$ telnet localhost 22
В зависимости от того, открыт ли порт 22, выходные данные будут отличаться.
SSH сервис
Статус службы SSH
Служба SSH управляет состоянием функции. Следующая команда распечатает статус службы SSH.
$ sudo systemctl status sshd
$ service sshd statusОстановка SSH
По умолчанию SSH настроен на запуск при загрузке. Если в настоящий момент нет необходимости в использовании SSH, мы можем его остановить. Обратите внимание, что для изменения службы требуется учетная запись root или пользователь без полномочий root с привилегиями sudo.
Следующая команда остановит службу SSH.
$ sudo systemctl stop sshd
$ sudo service sshd stopЗапуск SSH
Если SSH не запущен, запустите службу SSH. Он должен загрузить все компоненты и быть готовым принимать соединения SSH.
$ sudo systemctl start sshd
$ sudo service sshd startВключение / отключение SSH
Если служба включена, это означает, что система запустит службу при загрузке. Система не запускает отключенную службу при загрузке.
Следующая команда отключит службу SSH. Обратите внимание, что для последующего использования SSH службу необходимо запустить вручную.
$ sudo systemctl disable sshd
Следующая команда пометит службу SSH как » включенную «.
$ sudo systemctl enable sshd
Заключение
SSH — это мощная функция, которая значительно упрощает удаленное управление. Его неотъемлемый безопасный характер и простота делают его отраслевым стандартом для удаленного управления системой. SSH — неотъемлемая часть повседневной жизни системного администратора.
Работаете с несколькими удаленными системами? Затем подумайте об использовании Ansible для управления ими всеми. Ansible — это система управления конфигурацией, которая использует SSH для подключения и управления несколькими удаленными системами. Это надежная платформа для управления всеми вашими удаленными системами из одного места.