OpenSSH kiszolgáló

Bevezetés

Az Ubuntu kiszolgáló kézikönyvének ezen szakasza hálózatba kapcsolt számítógépek távoli felügyeletére, és az ezek közti adatátvitelre használható hatékony eszközök OpenSSH néven ismert gyűjteményét mutatja be. Megismeri az OpenSSH kiszolgálóalkalmazáshoz rendelkezésre álló konfigurációs lehetőségek egy részét, valamint azok módosításának módját Ubuntu rendszeren.

Az OpenSSH a számítógépek távoli felügyeletére és fájlok számítógépek közti átvitelére szolgáló eszközök Secure Shell (SSH) protokollcsaládjának szabadon elérhető verziója. Az ezen funkciók megvalósítására hagyományosan használt eszközök, mint például a telnet vagy az rcp, nem biztonságosak, mert a felhasználó jelszavát egyszerű szövegként viszik át. Az OpenSSH egy kiszolgálódémont és klienseszközöket biztosít a biztonságos, titkosított távoli felügyelet és fájlátviteli műveletek megkönnyítésére, hatékonyan helyettesítve a hagyományos eszközöket.

Az OpenSSH kiszolgálókomponense, az sshd folyamatosan figyeli a klienskapcsolatokat a klienseszközöktől. Kapcsolódási kérés érkezésekor az sshd a kapcsolódó klienseszköztől függően létrehozza a megfelelő kapcsolatot. Ha például a távoli számítógép az ssh kliensalkalmazással kapcsolódik, akkor az OpenSSH kiszolgáló hitelesítés után létrehoz egy távoli felügyeleti munkamenetet. Ha a távoli felhasználó az OpenSSH kiszolgálóhoz az scp használatával csatlakozik, akkor az OpenSSH kiszolgálódémon a hitelesítés után fájlok biztonságos másolását kezdeményezi a kiszolgáló és a kliens között. Az OpenSSH számos hitelesítési módszert használhat, többek közt egyszerű szöveges jelszót, nyilvános kulcsot és Kerberos jegyeket.

Telepítés

Az OpenSSH kliens- és kiszolgálóalkalmazások telepítése egyszerű. Az OpenSSH kliensalkalmazások Ubuntu rendszerére telepítéséhez adja ki a következő parancsot:

sudo apt-get install openssh-client

Az OpenSSH kiszolgálóalkalmazás és a kapcsolódó támogató fájlok telepítéséhez adja ki a következő parancsot:

sudo apt-get install openssh-server

Az openssh-server csomag kiválasztható telepítésre a kiszolgálóváltozat telepítési folyamata során is.

Beállítás

Az OpenSSH kiszolgálóalkalmazás, az sshd alapértelmezett viselkedését az /etc/ssh/sshd_config fájl szerkesztésével konfigurálhatja. A fájlban használt konfigurációs direktívákkal kapcsolatos információkért nézze meg a megfelelő kézikönyvoldalt a következő parancs kiadásával:

man sshd_config

Az sshd konfigurációs fájljában számos direktíva található, amelyek például a kommunikációs beállításokat és hitelesítési módokat vezérlik. Az alábbiakban néhány példát láthat az /etc/ssh/sshd_config fájl szerkesztésével módosítható konfigurációs direktívákra.

[Tipp]

A konfigurációs fájl szerkesztése előtt készítsen másolatot az eredeti fájlról, és tegye írásvédetté, így referenciaként megmaradnak az eredeti beállítások, és szükség esetén újra felhasználhatja azokat.

A következő parancsok kiadásával másolja le az /etc/ssh/sshd_config fájlt, és tegye írásvédetté:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
sudo chmod a-w /etc/ssh/sshd_config.original

Az alábbi példák bemutatnak néhány módosítható konfigurációs direktívát:

  • Módosítsa a Port direktívát a következőre az OpenSSH beállításához a 2222-es TCP port figyelésére az alapértelmezett 22-es TCP port helyett:

    Port 2222

  • Ahhoz, hogy az sshd engedélyezze a nyilvános kulcs alapú bejelentkezést, vegye fel vagy módosítsa a következő sort:

    PubkeyAuthentication yes

    az /etc/ssh/sshd_config fájlba, ha pedig már tartalmazza, győződjön meg róla, hogy a sor nincs megjegyzésben.

  • Az OpenSSH kiszolgáló megjelenítheti egy fájl, például az /etc/issue.net fájl tartalmát bejelentkezés előtti bannerként, ehhez vegye fel vagy módosítsa a következő sort:

    Banner /etc/issue.net

    az /etc/ssh/sshd_config fájlba.

Az /etc/ssh/sshd_config fájl módosításának befejezése után mentse a fájlt, és a következő parancs kiadásával indítsa újra az sshd kiszolgálót a módosítások életbe léptetéséhez:

sudo /etc/init.d/ssh restart
[Figyelem]

Az sshd kiszolgáló viselkedését számos konfigurációs direktíva segítségével igazíthatja igényeihez. Ne feledje azonban, hogy amennyiben a kiszolgáló elérésének egyetlen módja az ssh, és hibát vét az sshd az /etc/ssh/sshd_config fájllal végzett beállításakor, akkor az újraindítással kizárhatja magát a kiszolgálóról, vagy az sshd kiszolgáló visszautasíthatja az elindulást a helytelen konfigurációs direktíva miatt. Legyen tehát különösen óvatos ezen fájl távoli kiszolgálón történő szerkesztésekor.

SSH-kulcsok

Az SSH-kulcsok lehetővé teszik két gép között a jelszó nélküli azonosítást. Az SSH-kulcsos hitelesítés két kulcsot használ: a személyes és a nyilvános kulcsot.

A kulcsok előállításához adja ki a következő parancsot:

ssh-keygen -t dsa

Ez előállítja a kulcsokat, a DSA hitelesítési azonosság használatával. A folyamat során a program bekér egy jelszót. A kulcs létrehozására vonatkozó kérdésnél egyszerűen nyomja meg az Enter billentyűt.

Alapértelmezésben a nyilvános kulcs a ~/.ssh/id_dsa.pub fájlba kerül, míg a ~/.ssh/id_dsa a személyes kulcsot tárolja. Ezután másolja az id_dsa.pub fájlt a távoli kiszolgálóra, és a következő parancs kiadásával fűzze a ~/.ssh/authorized_keys fájl végéhez:

ssh-copy-id felhasználónév@távoligép

Végül ellenőrizze újra az authorized_keys fájl jogosultságait, csak a bejelentkezett felhasználónak lehet rá olvasási és írási jogosultsága. Ha a jogosultságok nem megfelelőek, módosítsa azokat a következő parancs kiadásával:

chmod 600 .ssh/authorized_keys

Ezután képesnek kell lennie az SSH használatával a jelszavak bekérése nélkül bejelentkezni a kiszolgálóra.