Praktični vodnik / Preverjanje dostopa

Težave s povezavo SSH: poiščite vzrok napake

Težave s povezavo SSH lahko izvirajo iz omrežja, storitve, prijavnih podatkov ali identitete strežnika. Začnite s točnim sporočilom napake in ohranite vsako še delujočo sejo, preden spreminjate nastavitve.

· Posodobljeno · Branje: približno 4 min.

V tem vodniku

Zabeležite en neuspešen poskus

Poiščite obnovitveno konzolo ponudnika in pustite delujočo sejo odprto. Ukazi odjemalca tečejo na vašem računalniku z Linuxom, macOS ali WSL. Strežniške ukaze izvajajte samo prek obstoječega dostopa ali preverjene konzole.

Zamenjajte dokumentacijski naslov 203.0.113.10, račun ubuntu, vrata 22 in pot ključa s svojimi podatki. Prvi ukaz izpiše uporabljene nastavitve, drugi poskusi novo povezavo brez deljenja prejšnje.

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

Preglejte hostname, user, port, identityfile in nastavitve posrednika. Zapišite čas ter zadnjo napako. Nov ključ strežnika potrdite po spodnjem postopku preverjanja identitete. Pred deljenjem dnevnika odstranite občutljiva imena, naslove in poti; zasebnega ključa ne delite.

Izberite pravo vejo

Na majhnem zaslonu pomaknite preglednico vstran, da vidite vse stolpce.

SporočiloKaj poveNaslednje preverjanje
Connection timed out pred vzpostavitvijoPovezava TCP se ni zaključilaNaslov, usmerjanje, požarna zida in stanje VM
Connection refusedAktivna zavrnitev na naslovu in vratihPričakovana vrata, poslušajoča storitev in pravila zavrnitve
Permission denied (publickey)Dosežena je prijava, ponujeni ključ pa ni sprejetRačun, ključ in strežniška pravila
REMOTE HOST IDENTIFICATION HAS CHANGEDIdentiteta se razlikuje od shranjeneZaupanja vredna potrditev ključa pred nadaljevanjem

Sporočilo zoži izbiro, ne dokazuje ene same razlage. Če pred časovno omejitvijo že piše Connection established, preverite pogajanje SSH in dnevnik, ne predpostavite popolne blokade omrežja.

Pri časovni omejitvi sledite omrežni poti

Primerjajte naslov v ssh -v s trenutno instanco v nadzorni plošči. Star DNS ali drug cilj IPv6 lahko povezavo pošlje drugam. Preverite, ali potrebujete javni IP, VPN ali vmesni gostitelj.

Preverite stanje VM, javno pot, dejanska vrata SSH in trenutni javni naslov svojega računalnika. Domači IP se lahko spremeni, pravilo /32 pa ostane staro. Požarni zid operacijskega sistema preverite prek konzole.

V Oracle upoštevajte security list, NSG, usmerjanje in pravila slike. Praznjenje iptables ali namestitev UFW nista diagnostična koraka. Vodnik Oracle Ubuntu opisuje omrežno postavitev. Neuspešen ping sam ne dokazuje nedosegljivega SSH.

Pri zavrnitvi preverite poslušajočo storitev

Zavrnitev ne potrdi, da je cilj vaš VPS. Preverite naslov, identiteto in vrata. Nato prek delujočega dostopa ali konzole na strežniku izvedite:

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

Poiščite poslušajočo storitev na pravem naslovu in vratih ter čas dnevnika povežite s poskusom. Ubuntu lahko uporablja aktivacijo prek vtičnice: neaktivna ssh.service sama ne pomeni napake, če posluša ssh.socket.

sshd -t preveri konfiguracijo in ključe gostitelja brez zagona novega procesa strežnika. Tiha uspešna izvedba ne potrjuje omrežne dosegljivosti. Pred ponovnim nalaganjem najprej razrešite navedeno datoteko ali nastavitev; ne zaganjajte na slepo.

Pri publickey preverite račun in ponujeni ključ

Uporabite ponudnikov začetni račun ali skrbnika, ki ste ga ustvarili. V dnevniku odjemalca poiščite prstni odtis ponujenega ključa. Za omejitev drugih ključev iz agenta na svojem računalniku poskusite:

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

Druge konfigurirane nastavitve IdentityFile lahko še vedno veljajo, zato preglejte ssh -G. Če zasebna datoteka ni berljiva ali ima preširoke pravice, najprej popravite lokalni dostop.

Na strežniku preverite ciljni račun in njegove javne ključe. Primer predpostavlja /home/ubuntu; uporabite dejanski imenik iz 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

Primerjajte dovoljene in ponujene odtise. Preverite lastništvo, pravice, AuthorizedKeysFile, vključene nastavitve in Match. Ponudnik lahko uporablja lasten sistem upravljanja ključev. Ohranite obstoječe vnose; ne izklapljajte StrictModes in ne omogočajte gesel, da bi prikrili vzrok.

Spremenjeno identiteto potrdite pred prijavo

Ponovna namestitev ali dodeljen drug IP lahko spremenita ključ. Nepričakovana sprememba lahko pomeni tudi napačen cilj ali prestrezanje. V svoji preverjeni nadzorni plošči potrdite ID instance in zgodovino načrtovanih sprememb.

V zaupanja vredni konzoli gostujočega sistema pokažite njegov javni ključ po algoritmu, ki ga navaja odjemalec. Za Ed25519:

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

Primerjajte SHA256 z opozorilom odjemalca. To je strežniški ključ, ne vaš prijavni ključ ali ključ konzolnega prehoda ponudnika. Po potrjeni spremembi naredite kopijo known_hosts in posodobite samo vnos tega strežnika. Ne brišite celotne datoteke in ne obidite preverjanja. Če identiteta ostane nejasna, povezavo prekinite.

Popravek preverite z novo sejo

Popravite ugotovljeni napačen naslov, račun, ključ, ozko omrežno pravilo ali konfiguracijsko napako. Med spremembami ohranite neodvisen dostop in pred uporabo preverite konfiguracijo SSH. Druga vrata lahko zahtevajo tudi spremembo aktivacije prek vtičnice.

Ponovite prvotni poskus brez deljenja povezave. Preverite pravi račun in potreben sudo. Stara seja, ki ostane odprta, ni preizkus nove prijave. Zabeležite vzrok in spremembo ter nadaljujte z nastavitvijo strežnika.

Pogosta vprašanja

Ali moram zaradi SSH ponovno namestiti Ubuntu?

Najprej ugotovite vzrok. Napačen naslov, uporabnik ali ključ ne zahtevajo ponovne namestitve, ki lahko uniči podatke. Brez dostopa uporabite ponudnikovo obnovo.

Ali delujoča konzola pomeni, da mora delovati SSH?

Ne. Konzola in javni SSH uporabljata različni poti. Delovati morajo tudi storitev, prijava in omrežna dovoljenja.

Diagnostika ne nadomesti preverjanja identitete strežnika. Primeri niso bili izvedeni na vašem VPS; popravek mora ustrezati ugotovljenemu stanju in ohraniti pot obnove.

Povezani vodniki