Secure Shell (SSH)
Wstęp
Coraz większą popularność w sieci zodbywają konta e-mailowe z dostępem do shell`a. Przyczyną jest oczywiście rozpowszechnienie się Linuxa :-), za
pomocą którego mo\na nauczyć się obsługiwać takie konto. Jednak dostęp do zdalnego komputera za pomocą zawartego w prawie ka\dym systemie
operacyjnym telnetu często jest blokowany przez administratorów na rzecz ssh. Dlaczego? Odpowiedz poni\ej.
Dlaczego SSH?
Istnieją dwa bardzo wa\ne argumenty wymownie przedstawiające wy\szość secure shella nad telnetem.
Po pierwsze: jak sama nazwa wskazuje ssh jest bezpieczniejszy od swojego starszego kolegi gdy\ umo\liwia szyfrowanie całej transmisji. Jest to
bardzo wa\ne, gdy\ istnieje mnóstwo programów podsłuchujących sieć (snifferów), które potrafią przejąć hasło i dane przesyłane otwartym tekstem tak
jak to robi telnet. Poza tym SSH pozwala się logować na serwer jako root, zabezpiecza przed hackerskimi atakami oraz usuwa niektóre luki w systemie
bezpieczeństwa XWindow.
Drugą zaletą SSH jest automatyczne logowanie. Mo\emy dostać się na nasze konto w sieci bez podawania hasła. Identyfikacja odbywa się za pomocą
dwóch kluczy - prywatnego oraz publicznego, który jest umieszczony na odległej maszynie. Jak to zrobić w dalszej części tekstu.
Inną zaletą SSH jest to, \e potrafi on kompresować dane w "locie". Są one przesyłane (jeśli tak sobie za\yczymy), przez skompresowany kanał ssh
przez co mo\na skrócić czas pobierania plików, szczególnie tekstowych np. newsów.
Klienci i serwery SSH
Programów, za pomocą, których moglibyśmy się dostać na serwer ssh jest całe mnóstwo i zapewne istnieją dla wszystkich systemów jednak nie zostały
tak upowszechnione jak telnet. O klienta ssh musimy się postarać. Tutaj zajmę się klientem ssh na linuxa. Mo\na go ściągnąć z wielu ftp`ów, w tym i
polskich np. ftp://task.gda.pl. Do nauki ssh warto tak\e ściągnąć sobie serwer ssh i logować się na lokalny komputer oszczędzając przy tym pieniądze
za połączenie z siecią. Zainstalujmy klienta ssh i serwer sshd, którego uruchomimy na naszym koputerze. Warto tutaj zaznaczyć, \e serwery ssh
istnieją tylko na platformy unixowe - w tym na Linuxa :-)
Pierwsze zalogowanie
Na serwer mo\emy się zalogować zwyczajnie, podając nasze hasło, robimy to wydając polecenie:
ssh login@nazwa.hosta
Jeśli logujemy się pierwszy raz na dany komputer ssh zapyta nas czy jesteśmy pewni, \e chcemy się połączyć z tym serwerem. Komputer ten zostanie
automatyczine dodany do listy naszych serwerów. Potem zostaniemy zapytani o nasze hasło, które oczywiście musimy wpisać. Po chwili jesteśmy na
koncie!
Połączenie zamykamy poleceniem exit.
Generowanie kluczy
Mo\emy zmusić ssh, aby logowanie na zdalny komputer odbywało się bez podawania haseł, za pomocą porównywania dwóch kluczy RSA -
prywatnego i publicznego. Musimy je wygenerować poleceniem:
ssh-keygen
program utworzy klucze: prywatny, który jest tylko nasz i nie powinniśmy go nikomu pokazywać czy udostępniać oraz publiczny, który umieścimy na
zdalnym serwerze. Następnie program zapyta o nazwy pod jakimi ma zapisać wygenerowy klucz. Naciśnijmy ENTER, gdy\ nazwa identity nam pasuje i
nie będzie wprowadzała zamieszania. Dalej program zapyta się o passphrase. Jeśli naprawdę nie chcemy podawać hasła naciśnijmy ENTER i
pozostawmy to pole puste. Ma to jednak jedną wadę: jeśli ktoś włamie się na jedno z naszych kont bez problemu dostanie się te\ na drugie!
Po wpisaniu (bądz nie) passphrase`a wyświelą nam się nazwy naszych kluczy oraz zawartość klucza publicznego.
Klucz publiczny na serwer!
Teraz musimy skopiować nasz klucz publiczny (identity.pub) na serwer gdzie mamy konto. Najłatwiej jest to zrobić za pomocą ftp. Przegrywamy
identity.pub znajdujący się w katalogu ~/.ssh (~ oznacza nasz katalog domowy np. /home/artur) do takiego samego katalogu, ale na odległym serwerze.
Plik ten powinnien nosić nazwę authorized_keys, więc mo\emy go od razu skopiować pod taką nazwą, bądz jeśli skopiowaliśmy go jako identity.pub
zmienić go na authorize_keys.
cat identity.pub >> authorized_keys
Teraz mo\emy ju\ się zalogować na konto bez podawania hasła:
ssh login@nazwa.komputera
UWAGA: Jeśli coś nie gra, to zapewne masz problem, albo ze złą nazwą plików w katalogu ./ssh, albo masz niewłaściwe prawa dostępu do tych plików.
Do ich czytania i zapisywania powinnien mieć prawo tylko właściciel dlatego ustawmy im chmod na 600.
chmod 600 .ssh/*
Tips and Tricks
Je\eli chcemy skopiować plik znajdujący się na naszym koncie na odległym serwerze wystarczy, \e skorzystamy z polecenia scp o następującej
składni:
scp login@komputer:/ście\ka/do/pliku /ście\ka/lokalna
Wyszukiwarka
Podobne podstrony:
Biblioteka PHP Wysyłanie pliku na serwerJak założyć pocztę na własnym serwerzeinstalowanie serwera windows 03serwer csproj FileListAbsolute2004 11 Porównanie serwerów relacyjnych baz danych Open Source [Bazy Danych]03 Linux Konfiguracja serwera FTP PROFTPDINN Serwery grup dyskusyjnychDefiniowanie reguł postępowania dla serwera FireWall określających sposób dostępu do wybranych serweserwery2007 08 Podstawy zabezpieczenia serwerów [Bezpieczenstwo]Apache Zabezpieczenia aplikacji i serwerów wwwINŻ Ruletka w architekturze klient serwerInstrukcja restartowania serwerawięcej podobnych podstron