Blog Daniela
29 Apr/10 1

6 przydatnych rzeczy można zrobić z SSH

SSH to chyba mój ulubiony kawałek oprogramowania. Jest wolny, daje mi wolność, to jest łatwy w obsłudze, a jednocześnie jest bardzo silny. Z SSH, można szyfrować komunikację. To przekłada się na bardzo uniwersalny sposób dla prawie każdego problemu. W tym małym howto pokażę 6 przydatnych rzeczy, które - można zrobić z ssh - bez stresu za dużo. SSH to coś więcej niż "tylko" secure shell zdalnej!

Rzecz # 1 - bezpieczny zdalny shell

ssh_console1

Jest to najbardziej oczywiste, co można zrobić z SSH i większości użytkowników Linuksa zapewne to zrobione przed: bezpieczne połączenie z innego komputera, aby produkować i podawać im o tym.

To jest bardzo proste:

  ssh user @ box_B 

To doprowadzi cię do B BOX jako "użytkownika". Następnie można jako "użytkownik" do pracy na BOX B.

Czasem jedno nie potrzebuje interaktywną sesję na zdalnym komputerze, ale może być uruchomiony tylko jednego polecenia.

  ssh user @ box_B komenda 

Tutaj będzie podłączony do polu B jako "Użytkownik" poleceń "polecenie" jest wykonywany, wynik ląduje na lokalnym wyjścia standardowego i przerywa połączenie.

Thing # 2 - Kopiowanie plików między komputerami bezpiecznie

ssh_copy

Cool, możemy zarządzać zdalnej maszyny z SSH, ale można też skopiować pliki za pomocą SSH z jednego komputera do drugiego. Zasada ta działa jak "CP" polecenia, ale to się nazywa "scp" - bezpieczne kopiowanie.

  scp / home / ja / a_file.txt użytkownik box_B @ :/ home / ja / 

To kopiuje lokalny plik '/ home / ja / a_file.txt "w rubryce dla" / home / ja / a_file.txt "w polu B.

To działa w drugą stronę:

  scp użytkownik @ box_B :/ home / me / b_file.txt / home / me 

To skopiuj plik "/ home / ja / b_file.txt" od B skrzynkami na katalogu domowym.

Ponieważ "scp" coś takiego działa jak "CP" symbole wieloznaczne są dozwolone:

  scp / var / log / * użytkownik @ box_B :/ home / me / logsbackup 

Kopiuje wszystkie pliki dziennika z ramką do '/ home / me / logsbackup "w polu B.

Rzecz # 3 - drzewo katalogów na zdalnym komputerze lokalnym systemie plików

ssh_mount

Czasami nie jest to tylko kilka plików z jednego komputera na inny egzemplarz. Aby zamontować zdalny katalog do lokalnego systemu plików jest super przydatna, gdy chcesz edytować zdalnych plików z programów lokalnych. Dobrym przykładem może być, na przykład pracować na stronie internetowej na zdalnym serwerze. Jest to po prostu katalog stron na zdalnym serwerze z lokalnego systemu plików, a następnie zapisywać i otwierać pliki z wszystkich fajnych lokalnie zainstalowanych edytorów HTML i programów graficznych. Zupełnie tak, jakby pliki na loaklen dysku. W tym celu trzeba "sshfs". System plików FUSE nie jest zainstalowany w wielu dystrybucjach domyślnie, ale zazwyczaj zawarte w repozytoriach. Na Debianie i Ubuntu można zainstalować to tak:

  apt-get install sshfs 

Po instalacji można zacząć go używać

  mkdir / mnt / b_data
 sshfs user @ box_B b_data :/ / mnt / b_data 

Montuje katalog "/ b_data" wg / Box B 'mnt / b_data "w lokalnym systemie plików. Teraz można pracować z lokalnego programu do plików zdalnych. Kiedy skończysz, możesz zdjąć mocowanie ponownie:

  fusermount-u / mnt / b_data 

Jeśli odmontowanie się nie powiedzie należy sprawdzić, czy są otwarte pliki ze zdalnych komputerów, czy też wciąż jest z powłoki lub zarządcy plików w zamontowanym katalogu.

Thing # 4 - uncensored i anonimowego surfowania przez "krytycznych miejscach" od sieci

ssh_proxy

Polityka firmy, faszystowskie rządy, kafejki internetowe i inne nieprzyjazne reżimy, instytucji i miejsc, gdzie można zrobić bezpieczne i prywatnych dostęp do sieci Web raczej trudne. Zapory ogniowe i serwery proxy można zablokować w internecie, gdzie można zalogować surfing wokół uruchom man-in-the-middle, lub po prostu wygenerować tylko przewrażliwiony uczucie. SSH jest rozwiązaniem wszystkich tych problemów. Oferuje on możliwość jako pełnomocnik internetowej ust SOCKS) do pracy. To po prostu łączy się przez SSH do dobrego zaufanego polu B i surfowania za pośrednictwem tego połączenia.

(Local Przeglądarka <-> local proxy SSH <-> SSH <-> Box B <-> WWW)

Wtedy nikt nie może cenzurować blokować wrogie lokalnej sieci LAN lub wąchania.
Brzmi dobrze? To jest rzeczywiście bardzo prosty w konfiguracji i użyciu! SSH zapewnia "-d" możliwość korzystania z serwera proxy SOCKS na lokalnej maszynie powołany:

  ssh-D 1234 użytkownik @ box_B 

Teraz masz proxy SOCKS na localhost, port słucha +1234-sza Teraz trzeba tylko skonfigurować swoją przeglądarkę tak nadal, że użył tego proxy dla połączeń internetowych. Można sprawdzić, czy wszystko jest dobrze, jeśli wywołasz w przeglądarce internetowej, która wydaje adres IP, który został użyty do nawiązania połączenia. http://www.whatismyip.com będzie działać, ale nie ma 1000 z innych stron. Jeśli jest to adres IP B pojawi się okno, wszystko jest w porządku. Portalbler przeglądarkę na dysku flash USB, takich jak Portable Firefox będzie dokonać rzeczy jeszcze bardziej przyjemna.

Thing # 5 - ruch szyfrowania z lokalnych programów i usług w tunelach lub dostępem do sieci LAN, które nie są normalnie dostępne za pośrednictwem Internetu.

ssh_tunnel_l

OK, mamy z pewnością udało maszyny, kopiować pliki z komputera na komputer bezpiecznie, a nawet ocenzurowane w Chinach surfować po sieci. Jednakże SSH może zrobić więcej! Można więc korzystać z wymiany danych między wszystkimi TCP wysłać lokalnych programów przez tunel do zaufanego komputera. Podobnie jak w przypadku proxy SOCKS, możesz wysłać ruch danych przez tunel pierwsze, na przykład przez lokalnego klienta e-mail, więc nie musi przepływać przez sieci LAN. Chcemy, aby nasz e-mail w "krytyczne" stanie. Script kiddies, głupie administratorzy i terror-Chiny hakerzy mogą czytać wzdłuż mitsniffen mail lub nawet e-mail hasło. SSH pomaga. Składnia za pomocą tunelu SSH jest trochę ciasno w pierwszym, i całkiem mózg-twister, ale całkiem logiczne i nie jest trudne przy odrobinie praktyki:

  ssh-L local_port: target_host: użytkownik @ target_port box_B 

na przykład:

  ssh-L 10000: pop3.mailprovider.com: 110 user @ box_B 

Co tu się stało? SSH jest Tunnnel potrzeba z lokalnego (L) w końcowym porcie tworzenia +10000-ga Wszystko jest wrzucane do tego lokalnego punktu końcowego przepływu danych do B Box pierwszy zaszyfrowany, a następnie do "pop3.mailprovider.com" na porcie 110 (port 110 jest POP3). Przepływ danych, czyli z lokalnego klienta poczty szyfruje na polu B, a stamtąd do e-mail dostawcy. Konto e-mail na lokalnym potrzeb klienta tak serwera POP, następujące ustawienia: Serwer: localhost / port: 10000. Ale musi to być e-mail nie jest koniecznie. Każda aplikacja korzystająca z protokołu TCP mogą być tunel. Na przykład, IRC, FTP, HTTP, IMAP itp.

Jeśli serwer nie powinny być używane wszędzie w internecie, ale na polu B jest sama maszyna docelowa może być również pole B:

  ssh user @ L 10000:127.0.0.1:110 box_B 

Celem w tym przykładzie "127.0.0.1", bo jest cel z punktu widzenia polu B jest. Ponieważ "127.0.0.1" jak widać z pola B zestawienie B jest sam

Tunele mogą być przydatne do ochrony usług internetowych, ale także o dostęp do usług w sieci prywatnej BOX B.. Jeśli posiadasz konto SSH na zewnątrz dostępne w sieci LAN, można uzyskać natychmiastowy dostęp do wszystkich usług TCP w diesm sieci LAN, tak jak gdybyś był "prawdziwy" klient w sieci LAN.

Przypuśćmy, że B jest w Intrantet BOX, w którym mieści ciekawy serwer WWW, ale który nie jest dostępny z Ineternet. Ten serwer jest uruchomiony na polu LAN do 192.168.0.77. Dzięki tunelowaniu SSH jest teraz po prostu lokalny port na port 80 dla serwera WWW w sieci LAN:

  ssh user @ L 10000:192.168.0.77:80 box_B 

Jeśli teraz "http://127.0.0.1:10000" w lokalnej przeglądarki internetowej nazywa to ląduje na stronie głównej serwera WWW w zdalnej intranecie.

Rzecz # 6 - tunel - na odwrót

ssh_tunnel_r_good

Jeśli # 5 jest jasne, powinna odwrócić tunel będzie już problemem. Oto zdalny punkt końcowy na tunel jest tworzony. Wszystko jest tam, płynie w postaci zaszyfrowanej na BOX (komputer lokalny), a następnie przekazywane do komputera docelowego.

  ssh-R REMOTE_PORT: target_host: użytkownik @ target_port box_B 

na przykład:

  ssh-R 10000: pop3.mailprovider.com: 110 user @ box_B 

W klienta e-mail będzie jako serwera POP "polu B" portów i wpisać "10000".
B BOX następnie tunele ruchu w celu najpierw pudełku. Box, a następnie przekazuje "pop3.mailprovider.com" portu "110"

Szybkie opcje wiersza polecenia dla SSH

-C "Compress"

"-C" opcja kompresuje przesyłane dane z gzip przed ich przepływ przez Inetrnet. Zwiększa to szybkość podczas przesyłania nieskompresowanych danych (na przykład zwykłego tekstu) grube. Jest to użyteczne w przekazywaniu
Długie pliki tekstowe lub surfowanie po Internecie przy użyciu SSH jako proxy.

  ssh-C-D 1234 użytkownik @ box_B 

-G "Grant Access"

W "-g" opcja eraubt innych hostów niż localhost, aby uzyskać dostęp lokalnie utworzone punkty końcowe tunelu. Tak więc, na przykład, inne komputery w sieci LAN za pomocą lokalnych skalę tunelu.

  ssh-L-g 10000:127.0.0.1:110 użytkownik @ box_B 

-P "port"

"-P" jest konieczna, jeśli zdalny serwer SSH nasłuchuje na porcie domyślnym. 22.

  ssh-p 22 000 user @ box_b 

-V "verbose"

Dzięki tej opcji możesz zobaczyć wiele informacji technicznych połączenia, jeśli chcesz wniknąć głębiej SSH.

Więcej przeczytać:

Starałem się napisać ten artykuł jak najprostsze, jak on ma służyć sobie przede wszystkim jako odniesienie. Istnieje jeszcze wiele więcej rzeczy można zrobić z SSH:

Strona podręcznika SSH

SSH RFC

Wikipedia na SSH

SSH - The Definitive Guide przez O'Reilly