Кратак одговор
Порука „цоннецтион рефусед“ значи да је server доступан, али ниједан сервис не прихвата везу на траженом порту. Најчешће је узрок то што SSH сервис (sshd) не ради, ослушкује други порт или га блокира firewall. Проверите редом: да ли sshd ради, на ком порту, да ли је порт отворен и да ли сте на правом хосту.
Како се проблем препознаје
- Клијент пријави „ssh: цоннецт то хост ... порт 22: Цоннецтион рефусед“
- Пинг на server пролази, али SSH веза се одмах одбија
- Веза ради са једне мреже, а са друге не
- Након промене порта или конфигурације sshd-a приступ престане
- Server се подигао после рестарта и SSH више не прима везе
Најчешћи узроци
SSH сервис није покренут
sshd процес не ради или је пао, па оперативни систем одбија везу на порту 22. Проверите статус сервиса и логове.
SSH ослушкује на другом порту
У конфигурацији је промењен порт (нпр. на 2222), а ви се повезујете на подразумевани 22. Клијент тада добија цоннецтион рефусед.
Firewall блокира порт
Локални firewall (ufw, firewalld, нфтаблес) или цлоуд security група одбија саобраћај на SSH порту.
Погрешан хост или IP
Повезујете се на IP адресу на којој не ради SSH, на погрешан server или на уређај који не дозвољава SSH.
Сервис слуша само на лоцалхост
sshd је везан на 127.0.0.1 или на погрешан интерфејс, па споља не прима везе.
Решење корак по корак
- 1
Проверите да ли сте на правом хосту и порту
Прво потврдите IP адресу или име сервера и порт. Ако не знате порт, питајте администратора или погледајте конфигурацију. Подразумевано је 22, али многи сервери користе други порт. На клијенту пробајте експлицитно:
ssh -p 22 korisnik@server. Ако и даље добијате „цоннецтион рефусед“, наставите даље. - 2
Проверите да ли је server доступан
Са клијента покрените
ping serverиnc -vz server 22(илиtelnet server 22). Ако пинг пролази а нц пријави „Цоннецтион рефусед“, мрежа је у реду, али сервис не прима везу. Ако нц пријави „тимед оут“, вероватно firewall одбацује пакете. - 3
Пријавите се локално или преко конзоле
Ако имате физички приступ или конзолу провајдера (KVM, VNC, сериал), пријавите се као root или корисник са судо правима. Без тога не можете проверити стање сервиса. Ако немате конзолу, обратите се провајдеру.
- 4
Проверите статус SSH сервиса
Покрените
systemctl status ssh(Дебиан/Убунту) илиsystemctl status sshd(RHEL/CentOS). Ако је сервис неактиван, покрените га:sudo systemctl start ssh(Дебиан/Убунту) илиsudo systemctl start sshd(RHEL/CentOS). Затим проверите да ли је омогућен при подизању система:sudo systemctl enable ssh(Дебиан/Убунту) илиsudo systemctl enable sshd(RHEL/CentOS). - 5
Погледајте логове за грешке
Користите
journalctl -u ssh -n 50илиjournalctl -u sshd -n 50. Тражите поруке о грешци при покретању, нпр. „бинд: Address already ин усе“ или „еррор: Бинд то порт 22 фаилед“. На старијим системима погледајте/var/log/auth.logили/var/log/secure. - 6
Проверите на ком порту и интерфејсу sshd слуша
Покрените
ss -tlnp | grep sshилиnetstat -tlnp | grep ssh. Обратите пажњу на колону Лоцал Address. Ако пише127.0.0.1:22, sshd слуша само локално. Ако пише0.0.0.0:2222, порт је 2222. У конфигурацији/etc/ssh/sshd_configпроверитеPortиListenAddress. - 7
Проверите firewall
На Убунту/Дебиан:
sudo ufw status verbose. На RHEL/CentOS:sudo firewall-cmd --list-all. Уверите се да је SSH порт дозвољен. Ако користите цлоуд, проверите security групу или мрежни firewall у конзоли провајдера. Ако користите ufw, можете дозволити SSH порт (нпр.sudo ufw allow 22/tcp). - 8
Исправите конфигурацију и рестартујте sshd
Ако сте мењали
/etc/ssh/sshd_config, проверите синтаксу:sudo sshd -t. Затим рестартујте сервис:sudo systemctl restart ssh(Дебиан/Убунту) илиsudo systemctl restart sshd(RHEL/CentOS). Водите рачуна да рестарт може прекинути постојеће везе, па пре тога обезбедите алтернативни приступ. Ако је све у реду, покушајте поново са клијента.
Ако ништа не помогне: напредне провере
Ако је sshd активан и слуша на 0.0.0.0:22, а веза се и даље одбија, проверите да ли постоји други firewall слој (нпр. нфтаблес правила, фаил2бан који је додао забрану). Погледајте sudo nft list ruleset и sudo fail2ban-client status sshd. У цлоуд окружењу проверите да ли је јавна IP адреса правилно мапирана на инстанцу. Можете привремено покренути sshd на другом порту ради теста: sudo sshd -p 2222 -d (дебуг режим, не прекидајте сесију). Ако се проблем јавља само са једног клијента, проверите локални firewall или VPN. За продукцијске сервере обавезно имајте алтернативни приступ (конзола, други SSH порт) да бисте избегли закључавање.
Како да спречите да се понови
- Редовно проверавајте статус sshd сервиса и логове
- Водите евиденцију о променама порта и firewall правила
- Обезбедите алтернативни приступ (конзола, други порт)
- Користите мониторинг који детектује недоступност SSH-a
Када је боље позвати стручњака
Ако немате конзолу или алтернативни приступ серверу, а SSH не ради, ризикујете трајно закључавање. У том случају је боље да позовете IT подршку која има искуства са удаљеним опоравком.
Одржавање IT инфраструктуре · Сервери, мреже, backup, безбедност и хелпдескЧеста питања
Зашто добијам „цоннецтион рефусед“ када пинг пролази?
Пинг тестира мрежну доступност, а не сервис. Цоннецтион рефусед значи да је хост доступан, али ниједан процес не прихвата везу на том порту. Најчешће sshd не ради или слуша на другом порту.
Како да сазнам на ком порту SSH ради?
На серверу покрените `ss -tlnp | grep ssh` или погледајте `/etc/ssh/sshd_config` (директива `Port`). Ако немате приступ серверу, питајте администратора или провајдера.
Да ли је безбедно рестартовати sshd?
Рестарт може прекинути постојеће SSH сесије, али неће обрисати податке. Пре рестартовања проверите синтаксу са `sudo sshd -t` и обезбедите алтернативни приступ (нпр. конзолу). Ако нисте сигурни у конфигурацију, не рестартујте sshd преко исте сесије.