Blog (ang. web log dziennik sieciowy) — rodzaj strony internetowej zawierającej określoną liczbę odrębnych, samodzielnych, uporządkowanych chronologicznie wpisów, których twórcą jest właściciel bloga. Blogi umożliwiają zazwyczaj archiwizację oraz kategoryzowanie wpisów, a także komentowanie wpisów przez czytelników danego bloga. Ogół blogów traktowany jako medium komunikacyjne nosi nazwę blogosfery. [źródło: wikipedia]

Pokazywanie postów oznaczonych etykietą ssh. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą ssh. Pokaż wszystkie posty

Jak w prosty sposób dostać się do bazy Lex UMK...

... i nie tylko.

Tekst adresowany jest bezpośrednio do studentów UMK, którym doskwiera brak dostępu do materiałów - jeszcze nie tak dawno dostępnych po zalogowaniu się na konto uczelniane, jednak może być pomocny osobom pokrzywdzonym przez różne instytucje w podobny sposób.

Z powodów zmnian w licencji dostęp do lex'a został ograniczony do komputerów znajdujących się w sieci lokalnej na wydziałach bez- i przewodowej. Każda osoba posiadająca konto na serwerze studenckim (ktośtam@stud.umk.pl np..) może użyć swojego konta jako bramki otwierającej drzwi do sieci lokalnej umk z każdego miejsca na świecie i o każdej porze. Jest to możliwe dzięki udostępnionemu oprócz ftp protokołowi sftp do przesyłania danych na własną powierzchnię www (http://www.stud.umk.pl/~ktostam). Normalnie, po próbie połączenia z www.stud.umk.pl za pomocą dowolnego klienta ssh:
ssh ktostam@www.stud.umk.pl

po wpisaniu hasła - serwer kończy połączenie:
Connection to www.stud.umk.pl closed.

Z powodu ciągłego zrywania połączenia nie jest możliwe ustawienie żadnego tunelu - chyba, że do polecenia doda się -N, dzięki czemu klient połączy się z serwerem - nie próbując wykonywać żadnych poleceń.
W związku z tym można poleceniem:
ssh ktostam@www.stud.umk.pl -N -D 8080
zmontować sobie tunel. Teraz po ustawieniu serwera proxy socks v5 na
localhost:8080
przeglądarka internetowa będzie przedstawiała się w internecie jako komputer umk. Po wejściu na stronę http://lex.law.uni.torun.pl nie będzie już informacji o braku dostępu.
Sposób ten umożliwia też przeglądanie książek wykupionych przez uczelnię w serwisie ibuk.pl i czasopism elektronicznych dostępnych na uczelni. Czołem

Zdalny pulpit na palmtopie

Widziałem, że kilka osób interesowała ta kwestia - nie zaszkodzi napisać o tym kilku słów. Z racji popularności na rodzimym rynku wezmę pod uwagę połączenie za pomocą palmtopa z Windows Mobile. (w moim przypadku WM2003)

Konfiguracja komputera, którym będziemy zdalnie zarządzać jest taka sama jak w przypadku normalnego vnc. Żeby ułatwić sobie sprawę zmniejszam zwykle rozmiar wirtualnego pulpitu (ponieważ ekran palmtopa jest mniejszy i zazwyczaj działa w mniejszej rozdzielczości, w większości przypadków 240x320). Mniejszy pulpit to mniej przewijania ekranu i oczywiście mniejszy transfer (mam na uwadze np gprs). W systemie Linux wystarczy uruchomić serwer vnc z odpowiednim parametrem, np:
-geometry 640x480
W przypadku Windows można zmienić rozdzielczość pulpitu.

Tak jak w przypadku połączenia komputer-internet-komputer tak i tutaj można się połączyć w tunelu ssh.

Sposób podłączenia jest taki sam dla wszystkich rodzajów dostępu do internetu (gsm, wifi...), ma on jednak znaczenie jeśli chodzi o szybkość przesyłania danych no i co jest chyba oczywiste - koszt.

Do podłączenia się bez pośrednictwa ssh wystarczy nam zainstalowany na palmtopie program Pocket VNC



Odpowiednią wersję do swojego palmtopa można pobrać z tej strony.

Po instalacji i uruchomieniu na palmtopie vnc, wpisujemy po prostu adres komputera, z którym chcemy się połączyć.



Żeby połączenie było bezpieczne można także na palmtopie zrobić tunel ssh. Po ściągnięciu i uruchomieniu programu Putty dla Windows Mobile łączymy się z komputerem w identyczny sposób jak na zwykłym pc.



W zakładce TUNNELS dodajemy tunel 5900:localhost:5900 (port :5900 to inaczej display :0 - analogicznie :5901 to :1)



Po nawiązaniu połączenia i zalogowaniu się swoim loginem i hasłem, można połączyć się z vnc przez adres localhost:0

I w taki sposób zabieramy swój komputer w kieszeni na drugi koniec ... świata.
Pozdrawiam.

Insert GT - dostęp do bazy mssql przez internet.

W chwili obecnej większość małych i średnich przedsiębiorstw jako system obsługi sprzedaży i księgowości używa programów ze stajni Insert. Rozwijany obecnie pakiet GT, w którego skład wchodzi między innymi Subiekt GT, jest oparty o bazę danych SQL firmy Microsoft. Z pewnością ma to swoje dobre strony, jednak w przypadku obsługiwanej przeze mnie firmy bardziej utrudnia to sprawę. Przede wszystkim mssql nie zainstaluję na Linuksie. Także Subiekt w tej kwestii odmawia współpracy. O ile w stopniu zadowalającym pakiet działa w sieci lokalnej o tyle zwiększenie zasięgu już jest pewnym utrudnieniem.

Sytuacja wygląda tak:
serwer za firewallem z zewnętrznym numerem ip - Windows XP, Ms Sql 2005. Dostawca internetu blokuje większość portów. Internet radiowy.

komputer, z którego ma być nawiązane połączenie z serwerem ma podobne parametry i połączenie internetowe.

Istneje płaty sposób na połączenie za pośredcnictwem TeamViewer'a jednak nie wydaje mi się zbyt opłacalnym.

Dlatego zdecydowałem się na moje ulubione ssh.
Na serwerze zainstalowałem Cygwin z serwerem ssh. Połączenie będzie oparte na tunelu portu, na którym nasłuchuje serwer mssql za pośrednictwem ssh. Teraz trzeba sprawdzić jaki to port. Domyślne mmssql nasłuchuje na porcie 1433, jednak w tym przypadku potrzebny jest port bezpośrednio bazy danych (domyślnie INSERTGT). W tym celu otwieram narzędzie do administracji mssql "SQL Server Configuration Manager.



W zakładce "Protocols for INSERTGT" wybieram TCP/IP.



Następnie kartę IP Addresses:



Widoczny w TCP Dynamic Ports numer jest szukanym portem - w tym przypadku 1642. To jest koniec konfiguracji serwera.

Po stronie klienta. Otwieram "Panel sterowania/Narzędzia administracyjne/Źródła danych (ODBC)" - w zależności od wersji Windowsa nazewnictwo może się zmieniać.



Dodaję nowe DSN użytkownika, z listy sterowników wybieram SQL Server:



Nazywam serwer i podaję numer ip: 127.0.0.1:



Następnie podaję parametry do połączenia z serwerem: uśytkownik sa, hasło puste. W konfiguracji klienta podaję numer portu: 1642



Resztę pozostawiam bez zmian.

Czas na utworzenie tunelu ssh. Poleceniem
ssh -l uzytkiwnik -L 1642:localhost:1642 adres_serwera
. Jeśli wszystko przebiegnie pomyślnie mogę przejść do ostatniego kroku.

Podczas uruchamiania subiekta jako adres serwera podaję 127.0.0.1, użytkownika sa, hasło pozostawiam puste:



Jeśli połączenie z serwerem zostało nawiązane - wszystko skonfigurowane poprawnie.

X11 przez SSH

Opcja ta nie ma raczej racji bytu w przypadku połączenia internetowego. Może być jednak bardzo ciekawym rozwiązaniem dla sieci lokalnej.
W skrócie: cała operacja polega na wyświetlaniu uruchomionych programów, działających na jednym komputerze - na monitorze drugiego.

Pierwszy komputer musi pracować w systemie LINUX i mieć zainstalowany serwer SSH.

Komputer drugi może działać na LINUX lub dowolnym systemie na którym można zainstalować serwer X11 (Windows, MacOS X), a także mieć zainstalowany klient SSH (np Putty).

W systemie LINUX
ForwardX11 wywołuje się poleceniem:
ssh -l uzytkownik -X adres_serwera
Po poprawnym zalogowaniu się na komputer pierwszy można wywołać poleceniem jakąkolwiek aplikację, która następnie zostanie wyświetlona na pulpicie komputera drugiego np
xclock &
co da taki efekt:


W systemie Windows
zainstalowanym na komputerze drugim sprawa jest nieco bardziej skomplikowane, bo wymaga instalacji serwera X11.

Stąd można pobrać pliki instalacyjne.

Po zainstalowaniu serwer X11 może być uruchomiony na cztery sposoby: jako niezależne okienka po kontrolą systemu windows, jako pulpit wewnątrz okna kontrolowanego przez windows, jako pulpit wewnątrz okna nieruchomego i jako pełen ekran.

Konfiguracja pulpitu:


Jeśli serwer X11 jest uruchomiony, poleceniem:
putty.exe -X adres_serwera

nawiązujemy połączenie SSH z komputerem pierwszym z wykożystaniem ForwardX11.

W przypadku, kiedy wybraliśmy X11 wyświetlany jako niezależne okienka, programy uruchomione z wiersza poleceń putty są w pełni kontrolowane przez system Windows, można je maksymalizować, minimalizować.

Serwer X11 zintegrowany z pulpitem Windows:


Yast i Gedit kontrolowane przez menadżera okien Windows:


Jeśli chodzi o pozostałe tryby wyświetlania X11, pierwszym moim poleceniem po zalogowaniu się na komputerze zdalnym jest uruchomienie menedżera okien np:
metacity & lub blackbox &
Ponieważ połączenie ma (w omawianym przypadku) miejsce w sieci lokalnej, ciekawym pomysłem jest uruchomienie nie tylko menedżera okien, ale także całego środowiska graficznego np GNOME lub XFCE. Można to zrobić poleceniem:
gnome lub xfce-session

Serwer X11 działający w oknie bez uruchomionych aplikacji:


Sesja Gnome w ramach Windows:


Po co ta zabawa?

Zastosowań znalazłoby się kilka. Między innymi biurowe: tam gdzie stanowiska powoli zaczynają się starzeć a zakup kilku nowych jest zbyt dużym wydatkiem można zainwestować w jeden stabilny serwer. Umożliwi to pracę za pomocą przestarzałych komputerów działających pod systemem Windows, na nowych programach zainstalowanych na serwerze.

Administracja Klientem Torrent (i nie tylko) przez ssh:webui

Niemal każdy klient sieci torrent w tym momencie ma coś co można nazwać webui, czyli interface'm programu w postaci strony internetowej. Jest to bardzo wygodny sposób na dodawanie i monitorowanie ruchu na zdalnym komputerze. Ma jednak poważną wadę: żeby korzystać z tego interface musimy odblokować odpowiednie porty firewalla i dostęp (co prawda chroniony hasłem... ale...) do niego mają wszyscy użytkownicy sieci. Rozwiązaniem po raz kolejny jest tunel ssh.

Komputer zdalny musi mieć zainstalowany serwer ssh i skonfigurowany interface internetwy klienta torrent. Przykładowo Deluge. Po uaktywnieniu za pomocą odpowiedniej wtyczki (plugin) można korzystać z interface przez port 8112. Dobrze jest dodatkowo zablokować taki port na firewallu.

Sesję SSH z tunelem na porcie 8112 inicjuje się poleceniem:
ssh -l uzytkownik -L 8112:localhost:8112 adres_zdalny
Następnie można otworzyć webui wpisując localhost:8112 w pasku adresu przeglądarki internetowej

Pulpit zdalny przez SSH

W czym rzecz...

Zdalna administracja komputera działającego pod systemem Linux czy Windows za pomocą VNC jest prosta i praktyczna. Jedynym minusem jest bezpieczeństwo połączenia. Jeśli połączenie ma miejsce wewnątrz zamkniętej sieci lokalnej, to problem ten nie istnieje. Sprawa wygląda inaczej, jeśli między serwerem a klientem jest Internet. Połączenie nieszyfrowane w łatwy sposób może zostać podsłuchane, a nasz komputer może stać się obiektem ataków itp.

Rozwiązanie jest bardzo proste i skuteczne, a jest nim tzw tunel SSH.

Po stronie serwera potrzebny jest komputer z zainstalowanym serwerem SSH, publicznym numerem IP i zainstalowanym serwerem VNC.

Po stronie klienta może być dowolny komputer/palmtop, z zainstalowanymi klientami SSH i VNC. W przypadku klienta adres IP nie jest istotny (przynajmniej na podstawie moich doświadczeń).

Krok pierwszy...

...czyli instalacje aplikacji serwerowych SSH i VNC odłożę sobie na później. W większości dystrybucji systemu LINUX są one domyślnie zainstalowane, więc nawet jeśli Użytkownik komputera nie wiedział o ich istnieniu, to są duże szanse, że ma te aplikacje zainstalowane. Jeśli jest inaczej to wystarczy dodać SSHD i VNCSERVER przez menadżera pakietów danego systemu.


Krok drugi - konfiguracja serwera VNC

Spokojnie mogą ten krok pominąć osoby, które z administracją przez VNC się już spotkały.

Serwer VNC tworzy wirtualny pulpit wg uznania użytkownika (co prawda jest możliwe podłączenie się pod istniejący pulpit wykorzystywany do codziennej pracy, ale jest to moim zdaniem nieefektywne rozwiązanie). Przy pierwszym uruchomieniu vncserver, należy nadać hasło dla połączeń ze zdalnym pulpitem. W katalogu domowym Użytkownika:
/home/nazwa_uzytkownika
zostanie utworzony katalog:
.vnc
w którym to znajdują się pliki passwd (przechowywujący hasło do serwera) i xstartup, za pomocą którego można wstępnie skonfigurować pulpit. Domyślnym menadżerem okien jest TWM, pozbawiony jakichkolwiek niepotrzebnych dodatków. Osobiście preferuję blackbox, który jest mniej toporny. Zmiany menadżera okien dokonujemy edytując plik xstartup w katalogu .vnc .

#!/bin/sh

xrdb $HOME/.Xresources
xsetroot -solid grey
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
blackbox &


Wybór menedżera zależy wyłącznie od preferencji użytkownika (osoba korzystająca na co dzień z GNOME może zamiast Blackbox czy TWM wpisać metacity, czyli domyślny menadżer okien GNOME). Nie muszę chyba dodawać, że żeby przykładowy Blackbox zadziałał, musi być wcześniej zainstalowany.

xterm wystepujący w pliku xstartup jest domyślną linuxową powłoką graficzną, dzięki której niepotrzebny jest jakikolwiek panel czy menu. Każde polecenie można w systemie LINUX wywołać za pomocą powłoki.

Wirtualny pulpit z działającym xterm i menedżerem okien metacity:


Serwer VNC uruchamiamy poleceniem:
vncserver :3 -geometry 800x600
gdzie :3 jest numerem ekranu (ang display), który ma być utworzony (musi to być liczba większa od 0), a -geometry 800x600 określa szerokość pulpitu na 800 pikseli a wysokość na 600 pikseli.

Po co definiować wielkość wirtualnego pulpitu?

Krok trzeci
czyli jak sprawa się ma po stronie komputera-klienta...

Podstawową kwestią, która bezpośrednio związana jest z definiowaniem wielkości pulpitu jest rozdzielczość komputera, za pomocą którego chcemy połączyć się ze wspomnianym pulpitem.

Prostym przykładem może być palmtop. Dostępne na rynku mają w większości rozdzielczość ekranu w granicach 320x320 pikseli. Katorgą więc byłaby praca z wirtualnym pulpitem (np 1280x1024) kilkakrotnie większym od fizycznego.

Wracamy do SSH. Na komputerze-kliencie może być dowolny system operacyjny od PalmOS do MacOS. Wystarczy, że ma zainstalowane klienty SSH (np Windows'owy Putty) i VNC (UltraVNC pod Windows). Ja skoncentruje się jednak na systemie LINUX (w innych systemach sprawa wygląda analogicznie).

Poleceniem
ssh -l nazwa_uzytkownika adres_naszego_serwera
klient ssh łączy się z naszym serwerem. adres_naszego_serwera to po prostu adres IP komputera, z którym się łączymy. nazwa_uzytkownika jest nazwą użytkownika istniejącego w zdalnym komputerze. Po wywołaniu tego polecenia zostanie wyświetlona prośba o hasło. Po poprawnym zalogowaniu pojawi się:
Last login: DD MM dd HH:mm:SS YYYY from adres_klienta
Have a lot of fun...
nazwa_uzytkownika@adres_naszego_serwera:~>
Jest to wiersz poleceń zdalnego komputera (serwera). Można w tym momencie przeglądać zawartość zdalnego komputera i uruchamiać podstawowe programy konsolowe. Nie jest możliwe uruchomienie programów w trybie graficznym.

SSH umożliwia transportowanie grafiki z serwera do klienta bez pomocy VNC - jest to jednak mało efektywna metoda. Poświęcę jej osobny temat.

Żeby zamknąć połączenie SSH wystarczy wpisać exit po czym nastąpi wylogowanie ze zdalnego komputera.

W celu utworzenia tunelu dla VNC należy połączyć się z serwerem SSH poleceniem wzbogaconym o pewną opcję:
ssh -l uzytkownik -2 -L 5901:localhost:5901 adres_naszego_serwera
opcja -2 wymusza SSH2, -L 5901:localhost:5901 otwiera tunel na porcie 5901 po stronie serwera i klienta. Domyślnym portem dla połączeń VNC jest 5900, w tym wypadku ostatnie zero oznacza ekran (display) :0 (domyślny w przypadku Windows, w LINUX zastrzeżony dla pulpitu działającego na monitorze komputera). Użyty powyżej port 5901 oznacza ekran (display) :1

W tym momencie po podaniu hasła i poprawnym zalogowaniu się pozostało już tylko uruchomić serwer VNC na komputerze zdalnym. Żeby to zrobić wpisuje się w konsoli uzyskanej za pomocą ssh polecenie:
vncserver :1 -geometry 800x600

Rozmiar pulpitu dobieramy wg uznania, natomiast display (:1) ustawiamy zgodnie z portem tunelowanym (5901)

Wynikiem powyższego polecenia będzie coś takiego:
New 'X' desktop is adres_naszego_serwera:1

Starting applications specified in /home/użytkownik/.vnc/xstartup
Log file is /home/użytkownik/.vnc/adres_naszego_serwera:1.log
Teraz wystarczy uruchomić klienta VNC - przykładowo w LINUX poleceniem
vncviewer localhost:1
Po wpisaniu poprawnego hasła ukaże się okno jak w Kroku drugim.

W zależności od łącza internetowego można ustawić róźne głębie kolorów i rodzaje kompresji obrazu.