efore we go, I will tell you something “I’m sorry for my broken English” cause I’m not native. But let me try, and hope youput understand. I will very happy if you correct my work.
Okay, In this article I will show you how to change default ssh port. And this tutorial I get from many sources.
Make sure no one have your main key to get into your house without permission and steal whatever there.
Change ssh port just one step to secure your server from bad guy. In my opinion you need do this.
It’s not difficult, I will make very easy for you to understand.
I assume you aleardy open ssh and ready to change it.
First backup your sshd_config, dont re-login or restart your server before tutorial done.
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_BACKUPThen open ssh configuration
# sudo nano /etc/ssh/sshd_configThat command will open you SSH Server configuration ( SSHD ).
Add this code on top or bottom your configuration
# SSH port
Port 2525 # port want you changeNext, we will update firewall server, tell the firewall ssh port was changed. If you turn off your firewall you can skip this step. If you still using CentOS 6 you can run this command
For centOS 6
# iptables -I INPUT -p tcp --dport 2525 --syn -j ACCEPT
# service iptables save
# semanage port -a -t ssh_port_t -p tcp 2525Fort centOS 7/8
# firewall-cmd --add-port 2525/tcp --permanent
# firewall-cmd --add-port 2525/tcpConfiguration is done, now time to restart SSH Server ( SSHD )
# service sshd resrtart# systemctl restart sshdError? if you can’t restart SSHD, then you need adjust SELinux policy, because we change port 22 to another port.
Command same with on centOS 6
Run this command.
# semanage port -a -t ssh_port_t -p tcp 2525Horay! you now aleardy change you port, to check you can relogin using port 22 and what you get? Erorr? Yes of course. You need login with new port.
SSH — сетевой протокол прикладного уровня. Он позволяет безопасно передавать сетевые пакеты. Его используют для удаленного подключения к операционной системе, передачи файлов (как копирование обычных файлов, так и потоковая передача данных, например, с веб-камеры), подключения к базам данных, удаленного запуска команд и т.д.
Данный протокол шифрует все данные, включая пароли, поэтому он считается безопасным. Однако для того, чтобы злоумышленники не получили доступ к учётным данным пользователя, у которого есть доступ по SSH, рекомендуется обезопасить свой сервер.
Как правило для подключения по SSH в терминале Linux используется следующая команда:
# ssh username@ip_address
Если изменить порт, то при подключении к серверу по SSH нужно явно указывать порт (возьмем для примера порт 2233):
# ssh -p 2233 username@ip_address
Для подключения с ОС Windows обычно используют специальные программы, например, PuTTy или MobaXterm. В них всегда можно явно указать порт подключения по SSH.
- Изменение порта SSH
В этом руководстве мы увидим, как вы можете изменить порт прослушивания службы 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
- Шаг 2: Измените порт службы SSH
- Шаг 3: Разрешить новый SSH-порт в SELinux
- Шаг 4: Откройте порт SSH на Firewalld
- Шаг 5: Перезапустите службу sshd
- Step 1 – Backup Current SSH configuration
- Step 2 – Change SSH service port
- Step 3 – Allow new SSH port on SELinux
- Step 4 – Open SSH port on Firewalld
- Step 5 – Restart sshd service
- Step 6 – Verify SSH Service
- Conclusion
- Recommended CentOS Tutorials
- Post navigation
- Изменение порта SSH
- Этот материал был полезен?
Шаг 1: Резервное копирование текущей конфигурации SSH
Войдите в систему CentOS / RHEL / Fedora и создайте резервную копию текущего файла конфигурации демона ssh.
Шаг 2: Измените порт службы SSH
Найдите строку, которая имеет:
Раскомментируйте строку «Port» и настройте новый порт для службы SSH. Я буду использовать порт 33000.
Сохраните изменения и закройте файл.
Шаг 3: Разрешить новый SSH-порт в SELinux
Если вы хотите разрешить привязку sshd к настроенному сетевому порту, вам нужно изменить тип порта на ssh_port_t.
Убедитесь, что новый порт был добавлен в список разрешенных портов для ssh.
Шаг 4: Откройте порт SSH на Firewalld
Всегда рекомендуется поддерживать службу брандмауэра и разрешать только доверенные службы.
Если Firewalld не установлен, используйте yum для его установки и запуска службы.
Теперь вы можете удалить службу SSH.
Шаг 5: Перезапустите службу sshd
Перезапустите службу ssh, чтобы изменения вступили в силу.
Проверьте адрес прослушивания для SSH.
Change ssh port on centOS 8; Through this tutorial, we will learn how to change ssh port on centOS 8.
- Step 1 – Backup Current SSH configuration
- Step 2 – Change SSH service port
- Step 3 – Allow new SSH port on SELinux
- Step 4 – Open SSH port on Firewalld
- Step 5 – Restart sshd service
- Step 6 – Verify SSH Service
Step 1 – Backup Current SSH configuration
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_2022_07_06:22:40:10
Step 2 – Change SSH service port
sudo vi /etc/ssh/sshd_config
Now the file has been opened with the above-given command. Search #Port 22 in that file:
#Port 22
Now remove # from this line and enter any port. We will put port 33000 in it:
Port 33000
Save the changes and close the file.
Step 3 – Allow new SSH port on SELinux
$ semanage port -l | grep ssh ssh_port_t tcp 22
sudo semanage port -a -t ssh_port_t -p tcp 33000
Like now we have added the new port. We can use the command given below to verify it:
$ semanage port -l | grep ssh ssh_port_t tcp 33000, 22
Step 4 – Open SSH port on Firewalld
Now the port we have added. For that we also need to do firewall configuration.
sudo firewall-cmd --add-port=33000/tcp --permanent sudo firewall-cmd --reload
If Firewalld is not installed, use yum to install it and start the service:
sudo yum -y install firewalld sudo systemctl enable --now firewalld sudo firewall-cmd --add-port=33000/tcp --permanent sudo firewall-cmd --reload
Step 5 – Restart sshd service
sudo systemctl restart sshd
Step 6 – Verify SSH Service
Finally, we have changed the SSH port. To verify this, you can use the below command:
$ netstat -tunl | grep 33000 tcp 0 0 0.0.0.0:33000 0.0.0.0:* LISTEN tcp6 0 0 :::33000 :::* LISTEN
Conclusion
Through this tutorial, we have learned how to change ssh port on centOS 8.
Recommended CentOS Tutorials
Изменение порта SSH
Обязательно проверьте, что порт, на который мы хотим заменить стандартный порт SSH, не занят другими службами. Это можно сделать с помощью утилиты netstat. Для этого потребуется установить пакет net-tools.
# apt install net-tools # netstat -tulpan | grep 22
# 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. Сохраняем изменения.
Если вы допустили какую-либо ошибку в конфигурационном файле, то можете потерять связь с сервером. Будьте осторожны. Для начала лучше потренироваться на тестовом сервере. В идеале у вас должен быть альтернативный доступ к серверу, например по VNC.
# systemctl restart ssh
# systemctl restart sshd
Так как текущая сессия SSH ещё активна, можно открыть новое окно и проверить, что подключение по новому порту работает:
# ssh username@ip_address -p2233
Если подключение удалось, то настройки верные. В противном случае что-то не так, и можно проверить конфигурацию в уже открытом подключении.
# netstat -tulpan | grep ssh
# 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 на нестандартный, таким образом усилив безопасность своего сервера

