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.
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.
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.
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 |
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
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 |
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.