OpenSSH (Secure SHell)
Az SSH-ról általánosan
Az SSH egy hálózati protokoll, távoli gépkre való bejelentkezéshez. Van egy remek funkciója, amivel képes TCP protokollokon alapuló szolgáltatásokat kezelni (forwardolni). Például ftp kapcsolatok felépítésénél, a szerverre való bejelentkezéskor kért jelszavakat SSH protokollon keresztül küldjük el, így azok titkosítva jutnak el a szerverig (sftp).
Az SSH kapcsolat RSA kulcsokon alapul. Minden SSH-t használó gépnek van egy host-azonósító RSA kulcsa. SSH szervert futtató gépeken az SSH démonja generál egy szerver-azonósító RSA kulcsot is, amit szabályos időközönként frissít. Amikor egy kliens csatlakozni kíván a szerverhez, a szerver elküldi a saját host- és szerver-azonósító RSA kulcsának publikus részét. A kliens ekkor összehasonlítja a host-azonósító kulcsot az adatbázisában lévővel, és ha egyezik, generál egy számot, amit visszaküld a szervernek, a szerver publikus kulcsainak titkosításával. Ezt a számot tehát csak a szerver tudja visszafejteni a saját RSA kulcsainak privát felével. Ha a szerver visszafejtette a számot, akkor azt forgalom titkosító kulcsként (session key) felhasználja, és felépíti a titkosított kapcsolat. Ezután történik a kliens azonósítása (rhosts). A kliens, sikeres azonósítása után különféle szolgáltatásokat kérhet a szervertől: X11-es; TCP/IP; authentication agent kapcsolat átirányítását a biztonságos csatornára. Végül a kliens vagy egy shell indítását (slogin, ssh) vagy egy parancs végrehajtását (ssh, scp) kérheti a szervertõl.
------------------------------------------------------------------------------------------------------------------
OpenSSH
Az OpenSSH magábafoglalja az SSH hálózati eszközöket. A készletben találunk egy SSH szervert (sshd), egy ssh klienst (telnet helyett), egy scp és egy sftp klienst (rcp illetve ftp helyett), valamint segédeszközöket az SSH használatához (ssh-add, ssh-agent, ssh-keygen). Ezek a kliensek az SSH protokollon keresztül társalognak, tehát az adatfolyamok titkosítottak.
SSHD
Az
SSHD, egy démonként futó szolgáltatás, ezért indítani az
/etc/init.d/ssh vagy
sshd start paranccsal tudjuk a legtöbb disztribúción. Konfigurációs fájlja az
/etc/ssh könyvtár alatt található,
sshd.config néven. Nézzünk át pár biztonsági beállítást hozzá:
Port 22
Port, amelyen az SSH szerver figyeli a kéréseket (alapértelmezetten 22, de átrakhatjuk másik portra, ezzel is nehezítve a betörők dolgát)
PermitRootLogin no
Root bejelentkezésének tíltása (hasznos opció!)
LoginGraceTime 60
Maximális tétlenségi idő (alapértelmezetten 120mp) ami után bontja a kapcsolatot, ha nem történt bejelentkezés
A felhasználók bejelentkezésének opciói:
AllowUsers user1,user2,user3
Akiknek engedélyezett a belépés (a többieknek tiltott lesz)
AllowGroups group
Amely csoport(ok) tagjainak engedélyezett a belépés (a többieknek tiltott lesz)
vagy
DenyUsers user4,user5,user6
Akiknek tiltott az SSH-n keresztüli bejelentkezés (a többieknek engedélyezett)
DenyGroups group2
Amely csoport(ok) tagjainak tiltott az SSH-n keresztüli bejelentkezés (a többieknek engedélyezett)
További beállításokhoz információk:
man sshd.conf------------------------------------------------------------------------------------------------------------------
SSH kliens
Az SSH kliens beállítófájlja az
/etc/ssh/ssh.conf alatt található. Ahhoz hogy csatlakozzunk egy SSH szerverhez a következő parancsot írjuk be:
gabor@localhost:~# ssh 192.168.5.5
The authenticity of host '192.168.5.5' can't be established.
RSA key fingerprint is b8:e5:c0:0d:3c:12:c1:c3:74:22:ce:81:19:25:e1:c4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.5.5' (RSA) to the list of known hosts.
Password:
Ha még nem szerepelt az ~/.ssh/known_hosts állományunkban a távoligép host-azonósító RSA kulcsának publikus fele, eltárolja azt.
Password:
Linux szgep 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Oct 10 18:52:26 2006
gabor@szgep:~$
Az előbb említett módon a 192.168.5.5-s IP-jű távoligépre jelentkeztünk be gabor néven. Most lépjünk ki, és tegyük meg úgyanezt, zsolt felhasználóként.
gabor@szgep:~$ exit
logout
Connection to szgep closed.
ssh -l zsolt@192.168.5.5
Password:
Linux szgep 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Oct 10 18:52:26 2006
zsolt@szgep:~$
Az SSH parancs után felhasználó@host -ként hivatkoztunk a távoligépre, ezzel meghatározva, hogy milyen felhasználónévvel szeretnénk bejelentkezni. Ha csak hostnevet adunk meg, akkor alapértelmezettként a lokális felhasználónevünket helyettesíti be.