• Amiga i Telnet

20.06.2005 19:50, autor artykułu: Marcin Juszkiewicz
odsłon: 8313, powiększ obrazki, wersja do wydruku,

Zapewne zastanawiałeś się kiedyś do czego może ci się przydać konto shellowe i jak z niego skorzystać? Jeżeli tak, to jest to artykuł dla ciebie.

1. Wstęp

Telnet jest usługą dającą możliwość pracy zdalnej w trybie tekstowym na komputerach podłączonych do sieci i poprzez to korzystania z różnych zasobów na nich udostępnianych. Może to być nasze własne konto shellowe, gry typu MUD, ale mogą to także być bazy danych, katalogi biblioteczne, katalogi programów i inne usługi informacyjne.

AmigaOS standardowo nie jest wyposażony w żaden program obsługujący tą usługę. Zostało to nadrobione przez wielu autorów, przez co teraz możemy przebierać w programach. Jednak tak naprawdę liczą się jedynie programy obsługujące także protokół SecureShell (SSH), który umożliwia połączenia z kodowaniem i kompresją danych (ma to na celu utrudnienie przechwycenia danych użytkownika co prowadziło do włamań na serwery).

Tak więc na placu boju zostają jedynie trzy programy: AmTelnet II, MiamiTelnet i NapsaTerm. Mają one zróżnicowane wymagania i możliwości. Niniejszy artykuł ma na celu krótkie omówienie ich oraz podanie paru wskazówek dotyczących używania konta shellowego.

2. Krótki opis programów

AmTelnet II

Program należy do kategorii shareware. Wersja niezarejestrowana ma ograniczenie czasu pracy (15 minut). Autorzy tego programu to Mathias Mischler i Oliver Wagner. Do pracy wymaga uruchomionego oprogramowania TCP/IP (AmiTCP/Miami), MUI oraz biblioteki term.mcc, która jest dołączona w pakiecie. Jego zaletą jest możliwość szybkiego i wygodnego utworzenia książki adresowej, w której możemy od razu podać wszelkie dane potrzebne do nawiązania połączenia, przez co nie będziemy musieli podawać ich wszystkich przy następnym uruchomieniu programu. AmTelnet potrafi emulować najczęściej używane typy terminali znakowych - dwukolorowy VT100 i 16-kolorowy ANSI.

MiamiTelnet

Program jest częścią pakietu shareware'owego Miami Deluxe. Jako jedyny potrafi emulować terminal TN3270. Posiada możliwość obsługi książki adresowej - niestety nie ma jeszcze żadnego konfiguratora i trzeba ją utworzyć ręcznie. Jako jedyny obsługuje klawisze funkcyjne F1-F10.

NapsaTerm

Jedyny darmowy program obsługujący SSH. Niestety jego darmowość pociąga za sobą pewne ograniczenia - nie posiada książki adresowej w żadnej postaci i ma niestandardowy sposób uruchamiania co praktycznie uniemożliwia jego wykorzystanie w przegladarkach WWW. Jako jedyny emuluje terminal H19. Należy zwrócić uwagę na to, którą wersję się posiada - w skład pakietu AmiTCP 4.x wchodzi NapsaTerm nieobsługujący SSH, zaś z sieci można ściągnąć wersję obsługującą tylko SSH (na tej wersji opiera opis).

3. Jak korzystać z telnetu?

Po wybraniu programu należy go uruchomić. I tu pojawiają się pierwsze problemy jeśli używa się Napsaterma SSH. O ile AmTelnet, MiamiTelnet i zwykłą wersję Napsaterma uruchamia się po prostu:

AmTelnet example.net

to już Napsaterm SSH wymaga podania UserID przy wywoływaniu:

Napsaterm -d ssh -r user example.net

4. Przykładowe korzyści z telnetu

IRC bez restrykcji

Załóżmy, że masz dość wchodzenia na IRC-a przez polskie serwery, na których masz restrykcje (+r), zachodnie serwery mają straszne lagi, a ty masz dostęp do konta shellowego, z którego możesz sobie swobodnie IRC-ować. Możesz wejść na nie telnetem i uruchomić na nim ircII lub BitchX-a, ale do celów tego artykułu zakładam, że wolisz IRC-ować bezpośrednio z Amigi. Należy więc połączyć się z serwerem i skorzystać z tego, co umożliwia ci UNIX. Inaczej mówiąc, stawiamy tunel. Można to zrobić na kilka sposobów - najczęściej używa się bnc lub ssh. Omówię obie metody, gdyż czasem nie można użyć bnc.

Tunel używający SSH

Wchodzimy na konto i sprawdzamy czy mamy tam dostęp do SSH (which ssh) i do screena (which screen lub which scr). Jeśli na serwerze nie ma ssh, to należy napisać do administratora z prośbą o jego zainstalowanie (tylko nie piszcie, że potrzebne wam to do tunelu). Jeśli jest, to czas stawiać tunel. Robi się to w następujący sposób:

screen nice -19 ssh -R listenport:ircserver:ircport localhost

Jako listenport podajemy dowolny port a ircserver:ircport to już zależnie od tego, który serwer jest najbliżej naszego providera. Komenda nice -19 spowoduje, że nasz tunel będzie używał możliwie mało czasu procesora. Po tym, jak podamy hasło będziemy mieli utworzony tunel. Naciskamy CTRL+D (powinien pojawić się napis "[detached]") i możemy wyjść z konta. Odpalamy IRC-a (np. AmIRC) i jako serwer podajemy adres serwera naszego providera a jako port podajemy to, co ustawiliśmy jako listenport. Po chwili jesteśmy na IRC-u widziani tak, jakbyśmy ircowali ze swego konta unixowego.

Wadą tej metody jest to, że taki tunel jest dostępny dla każdego - wystarczy więc, że ktoś skorzysta z naszego tunelu i wejdzie na IRC-u na kanał, na którym mamy autoopa a będzie mógł przejąć kanał, gdyż wszyscy będą mogli sądzić, że to my. Tej wady (i paru innych) pozbawiony jest bnc.

BNC - czyli tunel na hasło

Autorem BNC jest James Seter. Program ten umożliwia postawienie tunelu, do którego dostęp mają tylko ci, którzy znają hasło ustawione przez tego, który go postawił. Zapewnia to bezpieczeństwo, którego nie może zapewnić zwykły tunel. Umożliwia także połączenie z dowolnym serwerem na dowolnym porcie. Niestety coś za coś - trzeba mieć jeszcze dostęp do kompilatora na koncie, na którym chcemy mieć tunel. Łączymy się FTP-em z kontem i wysyłamy na nie archiwum z bnc, po czym wchodzimy na konto i zabieramy się za jego instalację:

tar -zxf bnc.tar.gz
cd bnc2.4.6/
./configure
make
mkdir ~/bnc
cp bnc ~/bnc/
cp example.conf ~/bnc/bnc.conf
cp bncsetup ~/bnc/

Teraz zostaje nam tylko edycja pliku bnc.conf zawierającego konfigurację bnc. Można to zrobić programem bncsetup:

cd ~/bnc/
./bncsetup

lub ręcznie w dowolnym edytorze. Osobiście byłem skazany na edycję ręczną, gdyż na serwerze na którym instalowałem bnc nie było programów wykorzystywanych przez bncsetup. Najpierw należy wygenerować hasła admina i użytkownika bnc:

mkpasswd
mkpasswd

Oba hasła należy zapamiętać w postaci zwykłej, a postać zakodowaną zanotować, bo za chwilę nam będzie potrzebna. Uruchamiamy edytor i ładujemy do niego plik bnc.conf. Składnia pliku konfiguracyjnego jest następująca:

S:+
D:listenport:ilość_użytkowników:+

Pozostałe opcje są opcjonalne - przydatna może być opcja:

A:1:nasz adres sieciowy
A:2:drugi adres
...
A:x:kolejny adres

pozwalająca ograniczyć dostęp do tunelu tylko do osób z wybranych adresów.

Teraz zostaje nam tylko uruchomienie AmIRC-a i dopisanie nowego servera do listy. Mała podpowiedź: w polu "Password" wpisujemy hasło, które wybraliśmy do bnc - najlepiej w postaci haslo:server_irc:port_servera (np. haslo:poznan.irc.pl:6667) - spowoduje to, że nie będziemy musieli nic wpisywać dla bnc - klient irc-a zrobi to za nas.

Szybszy FTP.

Łącząc się z Internetem poprzez numer dostępowy TPSA zapewne nieraz ściągałeś coś z serwerów FTP. Tylko ile czasu to trwa jeśli mamy słaby transfer rzędu 400cps? Raczej za dużo a licznik impulsów bije. Jest jednak rozwiązanie! Wystarczy mieć konto shellowe u dobrego providera i problem mamy częściowo rozwiązany. Należy po prostu ściągać pliki na konto a następnie z konta na dysk w Amidze.

Pojawia się od razu pytanie - jak to zrobić? Po wejściu na konto należy sprawdzić, jakiego klienta FTP mamy dostępnego (osobiście polecam ncftp). Robimy to przez wpisanie nazwy programu w shellu lub wydanie komendy

which ncftp

Jeśli uzyskamy jakąś pozytywną odpowiedź, to pierwszy krok za nami. Uruchamiamy ncftp i wtedy dowiadujemy się z którą wersją mamy do czynienia. W zasadzie spotyka się dwie wersje ncftp - 2.4.x i 3.0 beta. Na szczęście podstawowe komendy są prawie takie same w obu wersjach. Na początek proponuję założyć katalog na naszym koncie, żeby uniknąć nieporządku - nazwijmy go np. "get"

mkdir get
cd get

Jesteśmy w katalogu, więc uruchamiamy ncftp. W programie wpisujemy komendę połączenia się z serwerem FTP:

o ftp.serwer.com.pl - (połączenie anonymous)
o -u ftp.serwer.com.pl - (połączenie z wyborem użytkownika - ncftp 2.x)
o -u użytkownik ftp.serwer.com.pl - (połączenie z wyborem użytkownika - ncftp 3.x)

W przypadku połączenia anonymous program sam poda za nas login i hasło, tak więc część mamy z głowy. Po wejściu do interesującego nas katalogu (komenda cd), możemy wylistować jego zawartość. Służy do tego komenda

pdir katalog/

Otrzymany w ten sposób spis będzie podzielony na strony i program będzie czekać na naciśnięcie klawisza po każdej stronie. Oczywiście można stosować wszelkiego rodzaju ograniczenia co do plików nas interesujących, można je na przykład wylistować posortowane według czasu utworzenia (pdir -t katalog/). Do pobierania plików służy komenda

get plik1 plik2 plik*.lha

Jak widać można od razu podać parę plików lub parę grup plików. Można także pobierać całe katalogi z podkatalogami

get -R katalog/

Jeśli z jakichś powodów nie podoba nam się nazwa pliku na serwerze a chcemy go ściągnąć, to autorzy też to przewidzieli

get -z plik_na_serwerze nasza_nazwa

Przy wysyłaniu możemy wysyłać pojedyncze pliki lub całe grupy plików, możemy także zmienić nazwę pliku.

Po zakończeniu ściągania możemy zapisać połączenie pod nam pasującą nazwą (np aminet dla de.aminet.net) - służy do tego komenda

bookmark aminet

Przy następnym połączeniu wystarczy że damy

o aminet

i zostaniemy połączeni z de.aminet.net.

Do wyjścia z ncftp służy komenda

bye

Po ściągnięciu wszystkich potrzebnych nam plików możemy zabrać się za ściąganie ich na dysk naszej Amigi (przy czym od razu zasugeruję jedną rzecz - jeśli część plików już się nam ściągnęła na konto, to możemy je stamtąd pobierać w trakcie ściągania się innych - oszczędność czasu przede wszystkim).

Co robić jeśli nie mamy dostępu do ncftp na serwerze? Można posłużyć się standardowym ftp (powinien być w każdym systemie) lub sprawdzić, czy są jakieś inne programy ftp np. lftp. Jeżeli jednak jedynym nam dostępnym programem jest ftp, to można i nim się posłużyć - niestety jego obsługa jest o wiele trudniejsza. Nie zapamiętuje on adresów serwerów, z którymi się łączyliśmy, ma także o wiele mniejsze możliwości jeśli chodzi o pobieranie plików.

Oczywiście nikt nie mówi, że musimy być podłączeni do Internetu w czasie kiedy ściągamy pliki na konto. Wystarczy, że uruchomimy na serwerze program screen służący do tworzenia dodatkowych "okien" z shellem. Czasem można się spotkać, że będzie on nosił nazwę scr a nie screen, ale jest to mało ważne. Po jego uruchomieniu łączymy się z serwerem FTP używając ncftp i, tak jak to robiliśmy przy tunelu, naciskamy CTRL+ D (powinien pojawić się napis "[detached]") i możemy wylogować się z konta wpisując exit lub logout. Program od FTP ściąga nam pliki na konto, a my możemy się rozłączyć z Internetem - pliki ściągniemy później.

Możecie uznać, że metoda jest niewygodna, ale po kilkukrotnej próbie ściągania czegoś z odległych serwerów zauważycie, że zastosowanie jej znacznie ułatwia życie.

5. Podsumowanie

Mam nadzieję, że ten artykuł ułatwi wam wybór programu odpowiedniego do waszych potrzeb. Osobiście stosuję Napsaterma w wersji SSH. Opisane programy możecie znaleźć w sieci.

Tabelka komend Unixowych

Unix Amiga Opis
lsdirlistowanie zawartości katalogu
ls -llistlistowanie zawartości katalogu
rmdeletekasowanie plików
rm -rdelete allkasowanie katalogów z zawartością
mkdirmakedirtworzenie katalogu
mvrenamezmiana nazwy pliku/katalogu
cpcopykopiowanie pliku
exitendclizakończenie pracy z shellem
pineprogram do poczty
muttprogram do poczty
mailprogram do poczty (bardzo prosty)
screenAScreenprogram umożliwiający uruchomienie paru kopii shella
bashnewcliuruchomienie nowego shella

Artykuł opublikowany za zgodą autora. Pierwotnie ukazał się w numerze 01/2001 papierowej edycji magazynu eXec.

 głosów: 1   
komentarzy: 3ostatni: 06.10.2006 19:15
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem