Praktični vodič / SSH dijagnostika

SSH problemi: šta proveriti kada prijava ne uspe

SSH problemi se rešavaju brže kada prvo utvrdite fazu u kojoj veza prestaje da radi. Sačuvajte pristup koji još imate, zabeležite tačnu grešku i proverite odvojeno mrežu, servis, korisnički ključ i identitet servera.

· Ažurirano · Oko 4 min čitanja

Sadržaj ovog vodiča

Ponovite jedan pokušaj i sačuvajte izlaz

Ostavite uspešnu SSH sesiju otvorenu i pronađite konzolu za oporavak. Klijentske komande su za lokalni Linux, macOS ili WSL. Serverske komande izvršavajte kroz postojeću sesiju ili pouzdanu konzolu.

Zamenite dokumentacionu IP adresu 203.0.113.10, nalog ubuntu, port 22 i ime ključa stvarnim podacima. Prvo pregledajte obrađenu konfiguraciju klijenta, pa pokušajte novu vezu:

ssh -G -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10
ssh -v -S none -o ConnectTimeout=10 -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10

Proverite hostname, user, port, identityfile i proxy. Druga komanda isključuje deljenje postojeće veze za ovaj pokušaj. Zabeležite vreme i poslednju grešku. Novi host otisak proverite kako je opisano niže. Iz dijagnostičkog ispisa uklonite privatne adrese, imena i putanje pre deljenja; privatni ključ se nikad ne šalje.

Pronađite odgovarajuću granu

Na užem ekranu pomerite tabelu vodoravno da vidite ostale kolone.

PorukaŠta prvo proveriti
Connection timed out pre uspostavljanja vezeAdresu, rute, firewall i stanje instance
Connection refusedPravi port, servis koji sluša i pravila odbijanja
Permission denied (publickey)Nalog, ponuđeni ključ i politiku autentikacije
REMOTE HOST IDENTIFICATION HAS CHANGEDPouzdanu potvrdu identiteta servera

Ako pre timeout-a piše Connection established, TCP veza je već uspostavljena. Proverite SSH razmenu i logove umesto pretpostavke da mreža blokira svaki paket. Poruka sužava istragu, ali sama ne dokazuje uzrok.

Kod timeout-a pratite put do instance

Uporedite ssh -v odredište sa panelom. Zastareo DNS ili IPv6 mogu pokazivati na drugu mašinu. Proverite da li se koristi javna adresa, VPN ili posredni server. Instanca mora raditi i imati odgovarajuće rute.

U oba firewall sloja proverite stvarni port i vašu trenutnu javnu IP adresu. Kućna adresa može da se promeni dok staro /32 pravilo ostane. Kod Oraclea proverite security lists, NSG, rutiranje i pravila gosta. Ne instalirajte UFW niti praznite iptables radi dijagnostike. Oracle vodič prikazuje tu mrežu. Neuspešan ping sam ne dokazuje nedostupan SSH.

Kod odbijene veze proverite servis

Potvrdite da su adresa i port zaista namenjeni vašoj instanci. Odbijanje veze nije dokaz identiteta. Na serveru kroz preostali pristup pokrenite:

systemctl status ssh.service ssh.socket --no-pager
sudo ss -lntp
sudo /usr/sbin/sshd -t
sudo journalctl -u ssh.service -u ssh.socket --since '15 minutes ago' --no-pager

Tražite listener na očekivanoj adresi i portu, pa uporedite vreme pokušaja sa logom. Ubuntu može koristiti socket aktivaciju: neaktivna ssh.service nije kvar ako ssh.socket sluša.

sshd -t proverava konfiguraciju i host ključeve bez pokretanja demona. Tih uspeh nije dokaz dostupnosti preko mreže. Ako prijavi problem, utvrdite datoteku i podešavanje pre ponovnog učitavanja.

Kod odbijenog ključa proverite oba kraja

Koristite poznati početni nalog ili administratora koji ste napravili. U klijentskom ispisu pronađite ponuđeni otisak. Lokalno pokušajte sa ograničenim izborom identiteta:

ssh -v -S none -o IdentitiesOnly=yes -o StrictHostKeyChecking=ask -p 22 -i ~/.ssh/ubuntu_vps ubuntu@203.0.113.10

IdentityFile stavke iz konfiguracije i dalje mogu važiti; pregledajte ssh -G. Nečitljiv ključ ili preširoke lokalne dozvole rešavaju se na klijentu pre promene servera.

Na serveru pregledajte ciljni nalog i dozvoljene ključeve. Primer pretpostavlja /home/ubuntu; upotrebite direktorijum koji vrati getent.

getent passwd ubuntu
sudo ls -ld /home/ubuntu /home/ubuntu/.ssh /home/ubuntu/.ssh/authorized_keys
sudo ssh-keygen -lf /home/ubuntu/.ssh/authorized_keys

Uporedite otiske, vlasništvo, dozvole i log. Pregledajte AuthorizedKeysFile, uključene konfiguracije, Match pravila i eventualni servis ključeva provajdera. Ne brišite postojeće ključeve, ne isključujte StrictModes i ne uključujte lozinke samo da zaobiđete problem.

Promenjen host ključ zahteva objašnjenje

Reinstalacija ili nova dodela IP-a mogu promeniti identitet, ali isto upozorenje može značiti pogrešan server ili presretanje. U prijavljenom panelu potvrdite ID instance i planirane izmene.

U pouzdanoj konzoli gostujuće mašine proverite ključ istog algoritma koji prikazuje klijent. Za Ed25519:

sudo ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub -E sha256

Uporedite SHA256. To nije ključ za vašu prijavu ni ključ konzolnog gateway-a. Tek nakon potvrđene promene napravite kopiju known_hosts i izmenite zapis za taj server, čuvajući ostale. Ne brišite celu datoteku i ne preskačite proveru.

Potvrdite popravku novom sesijom

Ispravite konkretan uzrok: adresu, nalog, ključ ili potrebno usko mrežno pravilo. Za izmenu SSH konfiguracije sačuvajte nezavisan pristup i proverite konfiguraciju pre primene. Promena porta može zahtevati i socket podešavanja.

Ponovite prvobitni pokušaj bez deljenja veze. Potvrdite novi login na pravi nalog i potrebni sudo. Zabeležite uzrok i izmenu. Ako ste prekinuli instalaciju, vratite se na podešavanje sajta.

Pitanja i odgovori

Da li prvo treba ponovo instalirati Ubuntu?

Ne. Pogrešna adresa, ime ili ključ mogu da se poprave bez reinstalacije koja ugrožava podatke. Ako nema pristupa, koristite postupak oporavka provajdera.

Zašto konzola radi, a SSH ne?

To su različite putanje pristupa. SSH zavisi od listenera, pravila mreže i autentikacije naloga.

Dijagnostičke komande su primeri iz dokumentacije, nisu izvršene na vašem serveru. Svaku izmenu uskladite sa zatečenim stanjem i sačuvajte oporavak.

Nastavite sa povezanim zadatkom