Secure Shell (SSH)
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? Odpowiedź 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ądź
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ądź 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
Jeśli nazwa
użytkownika na odległym serwerze jest taka sama jak na komputerze
lokalnym wystarczy do zalogowania wpisać:
ssh nazwa.komputera
Jak już wspomniałem
wcześniej SSH potrafi kompresować transmisje. Służy do tego opcja
-C.
ssh -C login@nazwa.komputera
2k Artur Pęczak
arturoza@send.pl
30.03.2000
12:00
Wyszukiwarka
Podobne podstrony:
Secure POP SSHGhost in the Shell 2 0 (2008) [720p,BluRay,x264,DTS ES] THORAHide In Your Shellshellshellupr shellShell Chordsx 087 2 nis securenetssshAttenuation of Blast Overpressures from Liquid in an Elastic Shellhelp shell ruSecureCacheResponseOBOWIAZEK ponownego zatrudnienia secure1secure error2005 07 Bird Security Secure Email with Thunderbird and Enigmailsecurewięcej podobnych podstron