
Зміна стандартних портів (таких як SSH 22 або RDP 3389) — це практичний спосіб зменшити кількість автоматичних сканувань та спроб злому методом грубої сили. Це не «чарівна безпека», але це корисний рівень у стратегії глибокої оборони — особливо на публічному VPS-хостингу.
У цьому посібнику показано, як безпечно змінити порти на VPS під управлінням Linux (SSH) та Windows (RDP), як уникнути блокування доступу та як перевірити роботу брандмауера й підключення.
Перед зміною будь-якого порту управління:
На VPS під управлінням Linux SSH зазвичай є ціллю №1. Найбезпечніший алгоритм дій: дозволити новий порт → налаштувати SSH → перезапустити → перевірити → потім закрити старий порт.
Виберіть порт, наприклад 2222, 22022 або будь-який високий порт, який не використовується вашими службами.
# Check if a port is already in use (replace 2222)
sudo ss -lntp | grep ':2222' || echo "Port 2222 is free"
# Allow new SSH port
sudo ufw allow 2222/tcp
# Keep existing SSH port until you verify access
sudo ufw allow 22/tcp
sudo ufw status
Якщо ви не використовуєте UFW, відкрийте порт у вашому інструменті брандмауера (iptables/nftables/firewalld), а також переконайтеся, що він дозволений у брандмауері панелі вашого провайдера VPS-хостингу.
Відредагуйте конфігурацію SSH:
sudo nano /etc/ssh/sshd_config
Встановіть (або додайте) такі рядки:
Port 2222
# Keep this enabled
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
Порада: безпечніше спочатку перевірити, чи працює вхід на основі ключів, і лише потім вимкнути паролі.
sudo sshd -t
sudo systemctl restart ssh
sudo systemctl status ssh --no-pager
# From your local PC
ssh -p 2222 user@SERVER_IP
Тільки після успішного входу на новому порту:
sudo ufw delete allow 22/tcp
sudo ufw status
На Windows VPS зміна порту RDP може зменшити кількість автоматичних сканувань, але вам також слід обмежити правило за IP-адресою та залишити NLA увімкненим. Якщо можливо, розгляньте RD Gateway / VPN для зовнішнього доступу.
Виберіть порт, наприклад 3390 або 53389. Спочатку відкрийте його у брандмауері провайдера в панелі хостингу VPS, щоб уникнути ситуації, коли «все працює всередині, але не зовні».
Запустіть PowerShell як адміністратор на сервері (у прикладі використовується 53389):
# Set new RDP port (Decimal)
$NewPort = 53389
Set-ItemProperty -Path 'HKLM:SystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp' -Name 'PortNumber' -Value $NewPort
# Allow inbound TCP on the new port
New-NetFirewallRule -DisplayName "RDP (TCP $NewPort)" -Direction Inbound -Protocol TCP -LocalPort $NewPort -Action Allow
Рекомендовано: обмежте доступ за вашою IP-адресою (замініть x.x.x.x):
New-NetFirewallRule -DisplayName "RDP (TCP $NewPort) - My IP only" `
-Direction Inbound -Protocol TCP -LocalPort $NewPort -RemoteAddress x.x.x.x -Action Allow
Перезавантаження — це найпростіший і найнадійніший спосіб. Якщо ви не можете перезавантажити систему відразу, перезапустіть службу (це може призвести до втрати поточного сеансу):
Restart-Service TermService -Force
З клієнта Windows:
Test-NetConnection SERVER_IP -Port 53389
У mstsc підключіться так: SERVER_IP:53389
ss/netstat перевірка).Зміна порту за замовчуванням є хорошим кроком для «зниження шуму» та зміцнення безпеки, але справжня безпека забезпечується завдяки надійній аутентифікації та обмеженому доступу. Використовуйте це як частину багаторівневого підходу на вашому VPS під управлінням Linux або Windows на професійному VPS-хостингу.