Nowy w świecie Linuksa? Nie jesteś pewien, czym jest SSH i jakie ma zastosowanie? W tym artykule szczegółowo omówimy, jak skonfigurować i wykorzystać SSH w systemie Linux. Przedstawimy, jak działa oraz zaprezentujemy kilka praktycznych zastosowań. Zaczynajmy!
SSH to jedno z najpopularniejszych narzędzi w systemie Linux. Chociaż jest to program, który nie zawsze jest preinstalowany w głównych dystrybucjach Linuksa (poza Fedorą i OpenSUSE), jego konfiguracja jest dość prosta. Jeśli Twoim celem jest jedynie połączenie się z zdalnym komputerem działającym na Linuxie, najlepszym rozwiązaniem będzie zainstalowanie klienta SSH. To narzędzie umożliwi jedynie połączenie, bez konieczności uruchamiania serwera.
Jednak warto rozważyć skonfigurowanie serwera SSH na każdym komputerze z systemem Linux. Dzięki temu możliwa będzie dwukierunkowa komunikacja, co pozwoli na łatwe wysyłanie i odbieranie połączeń. Oto kroki, jak to zrobić.
Instalacja narzędzi SSH
Ubuntu
sudo apt install openssh-server
Arch Linux
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd
Debian
sudo apt-get install openssh-server
Fedora / OpenSUSE
Choć SSH może być już zainstalowane, serwer może nie być aktywowany. Aby go włączyć, otwórz terminal i wprowadź:
sudo systemctl enable sshd sudo systemctl start sshd
Inne dystrybucje
Następnie edytuj plik konfiguracyjny SSH i dostosuj kilka ustawień. Kluczowym z nich jest port, który domyślnie wynosi 22. To powszechnie znany port, co sprawia, że jest on celem ataków ze strony hakerów. Rozważ zmianę portu na inny, mniej oczywisty. Wybierz dowolny port, pamiętając, by nie był już zajęty przez inne usługi.
Aby edytować plik konfiguracyjny, użyj: sudo nano /etc/ssh/ssh_config
Przewiń w dół do linii z # Port 22, usuń „#” i zmień „22” na wybrany port. Zapisz zmiany, naciskając Ctrl + O, a następnie zrestartuj SSH, korzystając z poniższych poleceń.
Ubuntu / Debian:
service ssh restart
Arch / OpenSUSE / Fedora:
sudo systemctl restart sshd
Warto zaznaczyć, że jeśli nie planujesz udostępniać portu SSH w Internecie, zmiana portu nie jest konieczna. W przypadku korzystania z sieci lokalnej nie powinno być problemów.
Aby połączyć się z serwerem przez SSH, użyj polecenia: ssh -p numer_portu użytkownik@host
Transfer plików z wiersza poleceń
SSH jest niezwykle przydatne, gdy potrzebujesz uzyskać zdalny dostęp do innego komputera. Może to być maszyna, do której łączysz się przez Internet, lub komputer znajdujący się w tym samym pomieszczeniu. Często podczas zdalnego dostępu do systemu Linux konieczne jest przesyłanie plików, takich jak pliki konfiguracyjne czy ważne dokumenty. Wysyłanie plików na zdalną maszynę, gdy masz dostęp jedynie do terminala Linux, może być uciążliwe.
Dlatego SSH oferuje wbudowane funkcje, które umożliwiają łatwe przesyłanie plików tam i z powrotem, korzystając z SSH.
scp /ścieżka/do/plików-lub-folderów użytkownik@adres_ip:/ścieżka/do/miejsca_docelowego
Zastąp /ścieżka/do/… swoimi danymi. Na przykład może to wyglądać tak:
scp /home/derrik/importantfile.txt derrik@ubuntu-server:/home/derrik-server/files/
Bezpieczny serwer FTP wszędzie
FTP to starsza technologia, ale wciąż użyteczna. Jest nadal często wykorzystywana w kontekście SSH. Dlaczego? Umożliwia łatwy dostęp do całego zdalnego dysku twardego komputera z systemem Linux bezpośrednio z lokalnego menedżera plików. Nie trzeba konfigurować protokołu SSH, aby korzystać z SFTP. Każda maszyna z systemem Linux, na której działa serwer SSH, również oferuje SFTP. Aby uzyskać do niego dostęp, otwórz swój menedżer plików i znajdź opcję „serwer”, „sieć” lub podobną. Pamiętaj, że każdy menedżer plików może mieć nieco inny interfejs.
sftp://nazwa_użytkownika@hostname:numer_portu
Po wprowadzeniu adresu FTP poprosisz o hasło oraz o zaakceptowanie klucza z serwera SSH.
Ważne: aby uzyskać dostęp do SFTP spoza swojej sieci, musisz skonfigurować przekierowanie portu, którego używasz do SSH. Aby dowiedzieć się, jak to zrobić, zapoznaj się z dokumentacją swojego routera.
Zdalne kopie zapasowe
SSH ma wiele zastosowań, w tym zdalne tworzenie kopii zapasowych dysków i partycji. Aby wykonać kopię zapasową lokalnego dysku twardego i przesłać obraz przez sieć za pomocą SSH, użyj poniższej komendy:
Uwaga: w tym przykładzie używany dysk twardy to /dev/sda. Będziesz musiał dostosować polecenie do swoich potrzeb.
Kopia zapasowa partycji
dd if=/dev/sda1 | gzip -1 - | ssh użytkownik@host dd of=image.img.gz
Cały dysk
dd if=/dev/sda | gzip -1 - | ssh użytkownik@host dd of=image.img.gz
Możesz również pobrać obraz dysku twardego (lub partycji) zdalnego dysku:
Kopia zapasowa partycji
ssh użytkownik@host "dd if=/dev/sda1 | gzip -1 -" | dd of=image.img.gz
Cały dysk
ssh użytkownik@host "dd if=/dev/sda | gzip -1 -" | dd of=image.img.gz
Aby wyodrębnić obraz, użyj: gzip -d image.img.gz
Lokalne uruchamianie programów zdalnych
Czasami terminal nie wystarcza do efektywnego zdalnego dostępu do innego komputera. Na szczęście SSH umożliwia przekazywanie okien X Window. Dzięki temu możesz korzystać z GUI serwera x11 do wyświetlania zdalnych aplikacji na lokalnym komputerze. Na przykład, gdy chcesz przetestować witrynę internetową na zdalnym komputerze z systemem Linux, będziesz mógł zdalnie uruchomić przeglądarkę Firefox i wyświetlić jej okno na swoim lokalnym komputerze.
Aby włączyć przekazywanie okien X11, edytuj plik konfiguracyjny SSH: sudo nano /etc/ssh/ssh_config
Znajdź linię # ForwardX11 no, usuń „#” i zmień „no” na „yes”.
Uruchom ponownie usługę SSH.
Ubuntu / Debian:
service ssh restart
Arch / OpenSUSE / Fedora:
sudo systemctl restart sshd
Podczas nawiązywania połączenia przez SSH użyj przełącznika -X.
ssh -X -p numer_portu użytkownik@host
Podsumowanie
SSH to niezwykle przydatne narzędzie, o którym niewielu początkujących użytkowników Linuksa wie. To szkoda, ponieważ oferuje wiele zastosowań. W tym artykule jedynie zarysowaliśmy jego możliwości. W przypadku korzystania z bezpiecznej powłoki jedynym ograniczeniem są Twoje umiejętności.
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.