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.
VPSuntu · 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.10Proverite 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 veze | Adresu, rute, firewall i stanje instance |
| Connection refused | Pravi port, servis koji sluša i pravila odbijanja |
| Permission denied (publickey) | Nalog, ponuđeni ključ i politiku autentikacije |
| REMOTE HOST IDENTIFICATION HAS CHANGED | Pouzdanu 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-pagerTraž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.10IdentityFile 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_keysUporedite 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 sha256Uporedite 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.