Jednym z moich ulubionych narzedzi ktorych uzywam niemal codziennie jest PuTTY. Uzywam go po Windows jak i pod Linuxem (Ubuntu). Jest to narzedzie umozliwiajace laczenia sie poprzez SSH z graficznego srodowiska. PuTTY jest niezwykle przydatne w srodowisku Windows ktore nie posiada wlasnego terminala SSH. Narzedzie to umozliwia nam rowniez tworzenie tuneli SSH a tym samym pomijanie korporacyjnych zabezpieczen/ograniczen dostepu do internetu. PuTTY daje nam te wszystkie mozliwosci opisane w atykule sztuczki-z-ssh-2-tunele plus kilka innych z tym ze bez koniecznosci pisania dlugich komend. Jednak nie po nic wspominam tu artyku? autorstwa Pazkoody gdyz znajomosc tego co sie dzieje za kulisami jest bardzo przydatna. Dodatkowo Putty umozliwia nam polaczenie sie z zewnetrznym swiatem nawet wtedy kiedy mamy tylko dostep do portu 80 a kiedy nie chcemy wykorzystac portu 80 mozemy skorzystac z 443 ktory jest rowniez zwykle udostepniony na sluzbowej sieci. Program PuTTY mozna sciagnac z http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html na tej stronie znajdziemy oprocz roznych smakow programu rowniez dodatkowe oprogramowanie jak Putty SCP lub PSFTP oba sluza do bezpiecznego transferu/kopiowania plikow poprzez internet i tunel utworzony za pomoca PuTTY. Te narzedzia opisze pozniej. Poz zainstalowaniu PuTTY otrzymamy okienko podobne to tego ponizej:
kliknij by powiekszyc
W okienku widac juz kilka utworzonych przeze mnie sessji. Wszystkie widoczne sesje te sa skierowane w zasadzie do tej samej maszyny Ubuntu Linux za to z roznych srodowisk. Poniewaz czesto pracuje na roznych lokacjach stworzylem dla kazdej lokacji osobny profil polaczenia.
Jak utworzyc profil polaczenia
Zalozenia: kopmuter na ktorym fizycznie pracujemy nazwe MyPutty komputer do ktorego chce sie polaczyc nazwiemy ssh.jakilinux.org By utworzyc nowa sesje nalezy po prostu wpisac w okienko ‘Host Name (or IP address)’ nazwe lub adres IP komputera do ktorego chcemy sie podlaczyc, w okienku Port wpisujemy numer portu ktory jest dostepny na naszym odleglym komputerze. W moim przykladzie lacze sie z (nieistiejacym) ssh.jakilinux.org na porcie 22. W polu ‘Saved Sessions’ zapisujemy dowolna nazwe naszej sesji ja nazwalem to po prostu ‘Moja sesja’ nastepnie klikniemy na button ‘Save’ i sesja z pojawi sie w okienku z innymi sesjami.
Co zrobic by ominac problem ograniczonego dostepu do internetu. Wyobrazmy sobie ze w naszym biurze do internetu dostajemy sie poprzez proxy server na porcie 8080 ktory wymaga autentykacji. Dla przykladu proxy nazwiemy proxy.mojafirma.pl, port 8080 i nazwa uzytkownika jest goudacaster i jego haslo jest 12345. W okienku Category wybieramy opcje Proxy i wypelniamy odpowiednie pola odpowiednimi danymi jak na obrazku ponizej dla ulatwienia zaznaczylem polaktore trzeba wykorzystac na czerwono.
Zauwaz ze przed nazwa uzytkownika wstawilem ‘ad’ to w wypadku kiedy proxy w naszym biurze wykorzystuje autentykacje poprzez Windows domene, AD to nazwa tej domeny.
Uwaga – teraz by zapamietac te ustawienia wracamyw okienku ‘Category’ do opcji Session, w polu ‘Saved Sessions’ wybieramy wczesniej utworzona ‘Moja Sesja’ i nastepnie klikamy na button Save. Jezeli tego nie zrobimy zapisane przez nas ustawienia proxy nie zostana zapamietane.
Teraz mozemy wybrac nasza nowa sesje i kliknac na button Open i ukaze nam sie okienko terminala jak ponizej:
w okienku zamazalem prawdziwa nazwe uzytkownika i odleglego systemu jaka sie ukzala.
Tunele
PuTTY oferuje rowniez uruchamianie tuneli. Wybieramy nasza sesje klikamy na button Load nastepnie w okienku ‘Category’ wybieramy opcje SSH i dalej pod-opcje Tunels. W zaprezentowanym ponizej okienku mam juz jeden tunel do systemu na mojej domowej sieci a w polach ponizej przygotowalem tunel do www.google.com na wypadek administrator naszej firmowej sieci zabrania nam zagladac na ta strone.
Po wpisaniu kliknieciu na Add pojawi sie wpis: L10050 www.google.com:80 to oznacza ze nasz komputer po uruchomienu i zalogowaniu sie na naszej sesji ‘Moja Sesja’ bedzie dysponowal dostepem do www.google.com poprzez tunel. Czyli w naszej przegladarce (Firefox) mozemy wpisac adres http://localhost:10050 i pojawi nam sie strona Googla. Podobne tunele mozemy tworzyc do roznych innych miejsc jak na przyklad czesto niedostepne z firmowej sieci servery FTP czy IRC. Transferowanie danych (kopiowanie poprzez tunel) Wspomniane wczesniej komendy PSCP i PSFTP umozliwiaja nam kopiowanie plikow na odleglosc rowniez poprzezutworzone tunele. Z wspomnianej wczesniej strony sciagnij odpowiednie pliki PSCP PSFTP i zapisz je do na przyklad C:Temp. Uruchom teraz Windows command prompt. Wpisz nastepujaca komende:
pscp -load “Moja Sesja” C:Temptest.txt uzytkownik@ssh.jakilinux.org:~/
Ta komenda kopiujemy plik C:Temptest.txt na odlegly server ssh.jakilinux.org w directory ~/ uzywajac naszej sesji ‘Moja Sesja’. Uwaga Linux jest wrazliwy na duze i male litery podobnie jak i PuTTY.