Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # I. Połączenie SSH linux -> linux
- # ------------------------------------------------
- # 1. Tworzenie użytkownika
- $ sudo adduser user2
- # ------------------------------------------------
- # 2. Ustawienia hasła
- Enter new UNIX password: user2
- Retype new UNIX password: user2
- # ------------------------------------------------
- # 3. Użyj komendy usermod, aby dodać użytkownika do grupy sudo.
- $ sudo usermod -aG sudo user2
- # Domyślnie w systemie Ubuntu członkowie grupy sudo mają uprawnienia sudo.
- # Można to sprawdzić poprzez komendę $ sudo visudo
- # 3.1 Sprawdź czy pomyślnie dodano użytkownika
- $ less /etc/passwd
- # Przykładowy output
- user2:x:1001:1001:user2,,,:/home/user2:/bin/bash
- # 3.1.1 user2 - nazwa użytkownika
- # 3.1.2 x - Zaszyfrowane hasło. W prawie wszystkich współczesnych systemach Linux ten wpis zawiera "x".
- # Oznacza to, że rzeczywiste zaszyfrowane hasło nie występuje tutaj. Zwykle jest obecne w pliku /etc/shadow
- # 3.1.3 1001 - User Id (UID) Trzecie pole zawiera informacje związane z identyfikatorem użytkownika. Można to rozumieć jako nazwę użytkownika w postaci numerycznej. Podobnie jak w przypadku nazwy użytkownika, jest to również unikalne w całym systemie.
- # 3.1.4 1001 - Group Id (GID) ID grupy do której należy użytkownik. Identyfikator grupy jest unikalny i identyfikuje pojedynczą grupę użytkowników.
- # 3.1.5 Następny wpis to wpis GECOS. Ten wpis może zawierać informacje takie jak rzeczywiste lub pełne imię i nazwisko użytkownika, numer telefonu, inne dane kontaktowe itp.
- # 3.1.6 home/user2 - Jest to domyślny katalog, w którym użytkownik wyląduje tuż po zalogowaniu.
- # 3.1.7 /bin/bash - Shell. Zaraz po zalogowaniu powłoka zapewnia użytkownikowi środowisko do wykonywania wielu zadań, takich jak uruchamianie poleceń, używanie zmiennych środowiskowych itp.
- # Ponieważ Linux ma różne typy powłok, pole dostarcza informacji o powłoce używanej dla tego użytkownika. Najbardziej korzystną i używaną powłoką jest powłoka BASH.
- # ------------------------------------------------
- # 4. Test dostępu sudo na nowym koncie użytkownika
- # 4.1 Użyj polecenia su, aby przełączyć się na nowe konto użytkownika.
- $ su - user2
- # 4.2 Na przykład możesz wyświetlić zawartość katalogu / root, który jest zwykle dostępny tylko dla użytkownika root.
- $ sudo ls -la /root
- # ------------------------------------------------
- # 5. Instalacja narzędzia OpenSSH
- $ sudo apt-get install openssh-client
- # Protokół SSH działa w architekturze klient-serwer, a od wersji 2 nawet w architekturze serwer-klient.
- # 5.1 Sprawdźmy więc wersje protokołu
- $ ssh -V
- # 5.2 Po pomyślnym zainstalowaniu OpenSSH możemy sprawdzić status serwera OpenSSH
- $ sudo service ssh status
- # Serwisy to systemy działające w tle, najczęściej bez przerw, Ich celem jest dostarczanie usług użytkownikom.
- # Demony (ang. daemons) są często częścią serwisów uruchamianych przy starcie systemu.
- # Demony, inaczej usługi, są pewnym rodzajem programów, które są uruchamiane zazwyczaj przy starcie systemu, i działają potem cały czas w tle, zużywając minimalne zasoby.
- # 5.3 Plik konfiguracyjny deaemona SSH(SSHD)
- $ cat /etc/ssh/sshd_config
- $ nano /etc/ssh/sshd_config # edytor tekstowy
- # 5.3.1 Port: domyślny port usługi
- # 5.3.2 AddressFamily: Określa, która rodzina adresów powinna być używana. IPv4(inet) lub IPv6(inet6)
- # 5.3.3 ListenAddress: Określa lokalne adresy, na których powinien nasłuchiwać sshd.
- # 5.3.4 HostKey: Określa plik zawierający prywatny klucz hosta używany przez SSH. W komentarzu domyślne ścieżki, dla kluczy szyfrowanych różnymi algorytmami szyfrującymi.
- # 5.3.5 Ciphers: Określa dozwolone szyfry
- # 5.3.6 Loggin: Ustawienia związane ze zbieraniem logów przez sshd.
- # 5.3.7 LoginGraceTime: Serwer rozłącza się po tym czasie, jeśli użytkownik nie został pomyślnie zalogowany
- # 5.3.8 PermitRootLogin: Określa, czy root może się logować przy użyciu ssh
- # Root to nazwa użytkownika lub konto, które domyślnie ma dostęp do wszystkich poleceń i plików w systemie Linux
- # 5.3.9 StrictModes: Określa, czy sshd powinien sprawdzać prawa własności plików użytkownika i katalogu domowego przed zaakceptowaniem logowania.
- # 5.3.10 MaxAuthTries: Określa maksymalną dozwoloną liczbę prób uwierzytelnienia połączenia
- # 5.3.11 MaxSessions: Pozwala na zwiększenie liczby dozwolonych sesji logowania.
- # 5.3.12 PubkeyAuthentication: Określa, czy dozwolone jest uwierzytelnianie kluczem publicznym. The domyślnie jest tak.
- # 5.3.13 PasswordAuthentication: Określa, czy dozwolone jest uwierzytelnianie hasłem.
- # ------------------------------------------------
- # 6. Ustanowienie połączenia SSH User -> User
- $ ssh user@server
- $ whoami # aktualny użytkownik
- $ exit # zakonczenie polaczenia ssh
- # Domyślnym algorytmem szyfrowania komunikacji jest algorytm RSA, istnieje również możliwość szyfrowania danych za pomocą nieco słabszego algorytmu DSA. Podczas instalacji serwera SSH tworzona jest para kluczy – klucz publiczny i prywatny serwera – służą one do szyfrowania i deszyfrowania komunikacji. Podczas pierwszego połączenia z serwerem, klient, zapisuje publiczny klucz serwera na swoim dysku, w pliku known_hosts.
- # Następnie tworzy tak zwany klucz sesji, który będzie stosowany do szyfrowania całej komunikacji. Klucz sesji zostaje zaszyfrowany kluczem publicznym otrzymanym wcześniej od serwera i jest do niego odsyłany. Od tego momentu cała komunikacja szyfrowana jest kluczem sesji.
- # Source: http://pasja-informatyki.pl/sieci-komputerowe/protokol-ssh/
- # 6.1 Wyświetlenie zapisanych kluczy publicznych
- $ cat ~/.ssh/known_hosts
- # znak tyldy oznacza katalog domowy
- # ------------------------------------------------
- # 7. Usunięcie użytkownika
- $ sudo userdel -r user2
- $ sudo deluser --remove-home user2
- # -r Aby usunąć katalog domowy użytkownika i pocztę
- $ less /etc/passwd
- # ------------------------------------------------
- # 8. Odinstalowanie OpenSSH # Ostatni krok po przetestowaniu połączenia przez PuTTY
- # 8.1 Zatrzymaj usługę ssh przed jej odinstalowaniem
- $ /etc/init.d/ssh stop
- $ service ssh stop # alternatywnie
- # 8.2 Odinstalowanie pakietu serwera ssh
- $ apt-get remove openssh-server
- $ sudo service ssh status
- # ------------------------------------------------
- # II. Połączenie SSH windows -> linux (PuTTY)
- # ------------------------------------------------
- # 1. Aby przetestować działanie programu Putty przy użyciu maszyny wirtualnej na której zainstalowany jest linux najpierw należy zmienić odpowiednie ustawienia sieci naszej wirtualnej maszyny.
- # ------------------------------------------------
- # 2. Sposób 1: przekazywanie portów
- # Port protokołu lub port sieciowy – interfejs służący komunikacji w sieci komputerowej.
- # Dzięki przekazaniu dostępu do portu na którym pracuje nasz serwer SSH w wirtualnej maszynie dla naszego głównego systemu operacyjnego jesteśmy w stanie uzyskać zdalny dostęp do terminala.
- # 2.1 Ustawiamy sposób w jaki nasz Virtualny Adapter Sieciowy jest połączony do sieci Hosta
- Machine -> Settings -> Network -> NAT
- # NAT to w rozwinięciu „Network Address Translation”, czyli konwersja adresów sieciowych. Pozwala ona wielu urządzeniom, najczęściej połączonym za pomocą sieci lokalnej, na korzystanie z jednego adresu widocznego w Internecie.
- # 2.2 Tworzymy regułę przekazywania portów
- # Sprawdzamy adres IP hosta oraz Guesta
- linux: sudo ifconfig
- windows: ipconfig
- # Tworzymy nową regułę
- Machine -> Settings -> Network -> Port Forwarding
- Name -> SSH
- Host IP: IP windows
- Host Port: 1000
- Guest IP: IP linux
- Guest Port: 22 # domyślny port SSH
- # TCP jest protokołem działającym w trybie klient–serwer. Serwer(HOST) oczekuje na nawiązanie połączenia na określonym porcie. Klient(GUEST) inicjuje połączenie do serwera.
- # 2.3 Konfiguracja Programu PuTTY
- Host Name: IP hosta - Windows # Ponieważ przekazaliśmy port na adres Hosta
- Port: 1000 # 22 -> 1000
- # 2.4 Ustanowienie połączenia
- Klikamy przycisk: Open
- # ------------------------------------------------
- 3. Sposób 2: most sieciowy
- # Most (ang. bridge) - to urządzenie sieciowe pozwala na łączenie segmentów sieciowych i jednoczesne filtrowanie ruchu sieciowego.
- # Dzięki stworzeniu mostu sieciowego pomiędzy maszyną wirtualną, a siecią do której podłączony jest nasz host nasz serwer DHCP przypisze adres IP maszynie wirtualnej na jeden z dostępnych adresów należących do tej samej puli adresowej co adres IP hosta. Pozwoli nam to na odwołanie się do adresu IP wirtualnej maszyny z poziomu programu Putty.
- # 3.1 Ustawiamy sposób w jaki nasz Virtualny Adapter Sieciowy jest połączony do sieci Hosta
- Machine -> Settings -> Network -> Bridged Adapter
- # 2.2 Sprawdzamy adres IP Guesta
- linux: sudo ifconfig
- # 2.3 Konfiguracja Programu PuTTY
- Host Name: IP Guesta - linux # Ponieważ zmostkowaliśmy połączenie
- Port: 22
- # 2.4 Ustanowienie połączenia
- Klikamy przycisk: Open
- # ------------------------------------------------
- # BONUS
- # W razie problemów z reinstalacją SSH
- $ apt-get remove openssh-server
- $ sudo apt-get purge openssh-server
- $ sudo apt-get install openssh-server
- # purge jest identyczne do usunięcia z wyjątkiem tego, że pakiety są usuwane i czyszczone (wszelkie pliki konfiguracyjne również są usuwane)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement