Linux Secure Shell (SSH)

Linux 2 perc olvasás

Az SSH (Secure Shell) hálózati protokoll, amely titkosított kapcsolatot hoz létre két számítógép között, így egy nem megbízható hálózaton, például az interneten keresztül is biztonságosan vezérelhet egy távoli gépet. Az SSH-kapcsolaton parancsokat futtathat, fájlokat másolhat, és más hálózati forgalmat is átvezethet. A régi, titkosítatlan protokollokat (telnet, rsh) teljesen felváltotta: a Linux szerverek távoli kezelése ma szinte kizárólag SSH-n történik.

Linuxon a legelterjedtebb megvalósítás az OpenSSH. A szerveren az sshd szolgáltatás fogad kapcsolatokat, alapértelmezetten a 22-es TCP-porton, a kliens pedig az ssh parancs, amely Linuxon, macOS-en és a Windows 10-es és újabb verzióin is beépítve elérhető.

Hogyan működik?

  1. A szerver azonosítása. Csatlakozáskor a szerver bemutatja a saját nyilvános kulcsát (host key). Az első kapcsolódáskor a kliens megmutatja ennek ujjlenyomatát, és rákérdez, hogy megbízik-e benne. Elfogadás után a kulcs a ~/.ssh/known_hosts fájlba kerül, és a kliens minden későbbi kapcsolódáskor ellenőrzi.
  2. Titkosított csatorna. A két fél kulcscserével közös, csak erre a kapcsolatra érvényes kulcsot hoz létre, és innentől minden adat titkosítva halad.
  3. A felhasználó azonosítása. Ez történhet jelszóval vagy kulcspárral. A kulcsos azonosításnál a privát kulcs soha nem hagyja el az Ön gépét, a szerver csak a nyilvános kulcsot ismeri, ezért ez a biztonságosabb módszer.

Csatlakozás egy szerverhez

Nyisson meg egy terminált vagy parancssort a saját gépén, és írja be:

ssh felhasznalo@szervercime

A felhasznalo helyére a szerver felhasználónevét (VPS esetén az első belépéskor általában root), a szervercime helyére a szerver IP-címét vagy hosztnevét írja. Ha az SSH nem a 22-es porton fut, a portot a -p kapcsolóval adja meg: ssh -p 2222 felhasznalo@szervercime. Az első kapcsolódáskor írja be a yes szót a szerver kulcsának elfogadásához, majd adja meg a jelszót. Kilépni az exit paranccsal vagy a Ctrl+D billentyűkombinációval lehet.

A KVM VPS-ünkhöz való első csatlakozást Windows, macOS és Linux alól a VPS-ek SSH-csatlakozási útmutatója mutatja be lépésről lépésre.

Kulcsos bejelentkezés beállítása

ssh-keygen -t ed25519
ssh-copy-id felhasznalo@szervercime

Az első parancs a saját gépén kulcspárt hoz létre (alapértelmezetten a ~/.ssh/id_ed25519 és az id_ed25519.pub fájlba), a második a nyilvános kulcsot a szerver ~/.ssh/authorized_keys fájljába másolja. Ezután jelszó nélkül, a kulccsal léphet be. A privát kulcsot védje jelmondattal, és soha ne ossza meg senkivel.

Mire használható még?

  • Fájlmásolás: az scp, az sftp és az rsync is SSH-n keresztül visz át fájlokat, lásd: fájlok másolása szerverek között.
  • Alagutak (tunneling): egy szerveren csak helyben elérhető szolgáltatás, például egy adatbázis, biztonságosan elérhető a saját gépéről, vagy a szerver SOCKS proxyként is használható.
  • Kényelmi beállítások: a ~/.ssh/config fájlban rövid nevet adhat a szervereinek a felhasználónévvel, a porttal és a kulccsal együtt.

Gyakori hibaüzenetek

  • Connection refused: a szerveren nem fut az SSH-szolgáltatás, vagy más porton figyel.
  • Connection timed out: tűzfal blokkolja a portot, vagy hibás a cím.
  • Permission denied (publickey): a szerver csak kulcsos belépést enged, és nem találja a megfelelő kulcsot.
  • REMOTE HOST IDENTIFICATION HAS CHANGED: a szerver kulcsa megváltozott, például újratelepítés után. Ha biztos benne, hogy ez az oka, törölje a régi bejegyzést az ssh-keygen -R szervercime paranccsal; ha nem, ne csatlakozzon, mert a kapcsolatot valaki eltérítheti.

Az SSH-szerver védelméről (kulcsos belépés kötelezővé tétele, root belépés korlátozása) az SSH szerver biztonsági beállításai cikk szól.

Vissza: Linux leírások (62)