Studio Multimedialne ljasinski.pl

  • O mnie
  • Blog
  • Prelekcje
  • Portfolio
  • Kontakt
Jesteś tutaj: Strona główna / Komputery / ubuntu / Ubuwtorek – zaprzyjaźnij się z SSH

Ubuwtorek – zaprzyjaźnij się z SSH

23 października 2012 by lucasyas Zostaw komentarz

Jeżeli miałeś cokolwiek do czynienia z systemami unixowymi/linuxami, na pewno spotkałeś się z terminem SSH. W skrócie można powiedzieć, że jest to konsola, w której obsługujesz zdalne komputery, za pomocą własnego (oczywiście to tłumaczenie nie trzyma żadnych parametrów jeśli chodzi o wiedzę specjalistyczną, natomiast daje pewien pogląd na sprawę). W rzeczywistości jednak, SSH ma zdecydowanie większe możliwości.

Od podstaw – z kim połączę się przez SSH?

ssh screenshotPowodów może być wiele. Gdy pracowałem jako IT w firmie konsultingowej, przez SSH w prosty sposób mogłem aktualizować soft we wszystkich komputerach w biurze. Jednorazowo, w każdym komputerze musiałem tylko zainstalować serwer SSH – aplikację, która będzie akceptowała przychodzące połączenia. Później, mogłem kontrolować komputer zdalnie, w szczególnych przypadkach nawet spoza firmy.

Jako webmaster, bardzo cenię sobie hostingi, dające dostęp do SSH. Wbrew obiegowym opiniom, nie jest do tego potrzebny od razu serwer dedykowany, czy chociaż wirtualny. Są firmy, które oferują go również do zwykłych hostingów współdzielonych.

Ale po co?

W końcu raczej nie musisz zarządzać siecią komputerów linuxowych w biurze (jeśli musisz, to szanse, że to czytasz są naprawdę bliskie zeru).

Połączenie z hostingiem to zupełnie inna sprawa. Dzięki temu korzystając z kilku komend pobierzesz system CMS z serwera (hosting ma zapewne lepsze łącze niż ty) oraz zdekompresujesz do odpowiedniego katalogu oszczędzając masę czasu. Przykładowy ciąg poleceń – instalacja WordPressa 3.5 beta:

cd /home/myuser/Download
wget http://wordpress.org/wordpress-3.5-beta2.zip
unzip wordpress-3.5-beta2.zip
cd wordpress
mv * /var/www/wp35/htdocs

Przenoszenie danych – przydatność jest wprost nie do przecenienia. Jeżeli nie czujesz się pewnie w linii komend możesz użyć Midnight Commandera – klonu starego Norton Commandera przystosowanego do pracy w konsoli.

Wyszukiwanie wewnątrz plików. Przykład autentyczny: Po zmianach na blogu w WordPressie w kokpicie pojawiła mi się w tabeli wpisów kolumna wyświetlająca dwie miniaturki.  Sam robiłem skrypt wyświetlający, więc go sprawdziłem, tymczasowo wyłączyłem, nie pomagało. Znikała tylko jedna miniaturka. Druga się wyświetlała. Problemem było to, że kolumna ta wyświetlała się na końcu, a nie tak jak chciałem, przed tytułem. Trzeba było więc przeszukać całą zawartość katalogu wtyczek (używam tego trochę w sieci blogów) na występowanie funkcji [cci]manage_posts_columns[/cci]. Bez SSH czekałoby mnie żmudne wyłączanie każdej wtyczki po kolei i sprawdzanie efektu. Przy użyciu jednego polecenia przez SSH:

find . -name „*.php” -print | xargs grep „manage_posts_columns”

znalezienie winnego zajęło kilka chwil.

A można SSH bez hasła?

O dziwo – tak. I nie powoduje to tak wielu niebezpieczeństw, jak można by sobie wyobrazić. Przesyłamy bowiem na serwer certyfikat, który autoryzuje nasze konto na komputerze lokalnym do logowania jako określony użytkownik na komputerze zdalnym bez hasła. Uff, mam nadzieję, że za bardzo nie namotałem. A więc po kolei, jak to zrobić?

  1. Uruchom konsolę, na komputerze, przy którym siedzisz (lokalnym). W Ubuntu załatwią to klawisze [key]Ctrl[/key] + [key]Alt[/key] + [key]T[/key].
  2. Teraz wygenerujemy certyfikaty (klucze). Wpisz
    ssh-keygen -t rsa.
    Potwierdź opcje domyślne klawiszem [key]Enter[/key], nie wprowadzaj hasła (passphrase)
  3. Utwórz na serwerze (komputerze gdzieś daleko) katalog do przechowywania kluczy. Po połączeniu system zapyta Cię o hasło – nie to lokalne, ale tamto służące do logowania na serwerze.
    ssh user@serwer.pl mkdir -p .ssh
  4. W ostatnim kroku wyślemy nasz certyfikat przez połączenie SSH na serwer. Po raz kolejny (jak dobrze pójdzie, to ostatni) zapyta on nas o hasło.
    cat .ssh/id_rsa.pub | ssh user@serwer.pl 'cat >> .ssh/authorized_keys’

Głowna wada SSH

Nie jest nią to, że trzeba sobie radzić z linią komend. Linia komend nie jest straszna. Jeśli opanujesz obsługę Photoshopa (a ma on ponad 300 przycisków), to dopiero jest straszne. Najgorsze jest to, że gdy zamkniesz połączenie, wszystko co robiłeś, zostaje zamknięte.

Teraz wyobraź sobie, że chcesz przywrócić na serwer backup plików, który pobierasz z jakiegoś innego serwera, takiego szybkiego inaczej. W związku z tym chciałbyś rozpocząć pobieranie backupu i wyłączyć komputer. Da się to zrobić z pomocą zewnętrznego narzędzia screen

screen
wget http://backup.slow.pl/mybackup/reallybigone.zip

i zamykamy okno terminala lub wciskamy kombinacje klawiszy [key]Ctrl[/key]+[key]A[/key], [key]Ctrl[/key]+[key]D[/key]. Po powrocie otwieramy okno z powrotem, łączymy się przez SSH i wpisujemy

screen -r

Sesja z którą się rozłączyliśmy, pracowała sobie grzecznie w tle na serwerze. W zależności od tego, jak długo nas nie było ujrzymy albo wyniki pracy, albo aktualny stan zadania.

Możemy również utworzyć kilka różnych wirtualnych sesji, wówczas musimy im nadawać nazwy podczas zakładania

screen -r nazwa1

aktualną listę sesji możesz wyświetlić poleceniem

screen -ls

Aby sesję zakończyć, wpisz po prostu

exit

Przesyłanie plików

Jest to zastosowanie SSH, o którym większość ludzi zapomina. Tymczasem jest to sposób o wiele bezpieczniejszy niż FTP – dane logowania w żadnym momencie nie są przesyłane bez szyfrowania. Co więcej, obsługa SFTP jest w Ubuntu trywialna. Zapomnij już o linii poleceń. Tu wszystko jest okienkowe. Uruchom nautilusa (np. klikając katalog domowy). Z menu plik, wybierz opcję „Połącz z serwerem” i wprowadź dane połączenia.  Tu niestety nie działa trick z certyfikatem podany powyżej (działa, ale wymaga napisania konfiguracji ssh i przydzielenia certyfikatów do poszczególnych serwerów – polecam), jest natomiast checkbox „zapamiętaj hasło”, który możemy zaptaszyć. Po kliknięciu połącz system podmontowuje system plików serwera, tak samo jak każdy inny zasób. Czy wspominałem już, że zdalne pliki można otwierać tak samo jak lokalne i je edytować. Żaden Windows Wam tego nie da 🙂

Pomijając kwestie wygody. Jeżeli tylko serwer oferuje wam SSH, postarajcie się o wyłączenie na nim FTP. Likwidujecie poważną lukę w zabezpieczeniach, nie ograniczając przy tym zbytnio funkcjonalności. Pod Windows, do łączenia przez FTP można użyć chociażby darmowego WinSCP.

Podobne

W kategorii:ubuntu Tagi:ftp, konsola, ssh

Leave a Reply Cancel reply

WP Core Contributions

  • [47004] Shortcodes: Introduce `apply_shortcodes()` as an alias for ...

View the ticket on Trac.

Mastodon

Tagi

*.tk .htaccess android Apache apple bezpieczeństwo bing blog bumblebee chrome darmowe domeny e-mail facebook firefox ftp generator liczb pseudolosowych git gmail google google analytics Google apps google docs Google drive google logo hasła instagram kernel microsoft mysql PHP plugin prywatność rich snippet seo serp spam twitter ubuntu VMware webmaster windows wordcamp wordpress youtube

Najnowsze komentarze

  • Jacek - Zakładanie darmowej domeny *.tk
  • Arek - Jak dodać swap do ubuntu
  • refy - Zakładanie darmowej domeny *.tk
  • bezrobotny niepełnosprawny magister - Darmowe domeny – one naprawdę istnieją
  • lucasyas - Jak Lenovo sobie leci…

Obserwuj mnie na Twitterze

My Tweets

Copyright © 2023 · ljasinskipl-genesis on Genesis Framework · WordPress · Zaloguj się

Ta strona korzysta z ciasteczek w celach statystycznych oraz dla wyświetlania reklam. Jeżeli nie wyrażasz na to zgody, możesz to zmienić korzystając z ustawień swojej przeglądarki internetowej. Akceptuję
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT
 

Loading Comments...