Advertisement
blackpab

SSH commands

Dec 9th, 2018
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 9.42 KB | None | 0 0
  1.             # I. Połączenie SSH linux -> linux
  2.  
  3. # ------------------------------------------------
  4.  
  5. # 1. Tworzenie użytkownika
  6.     $ sudo adduser user2
  7.  
  8. # ------------------------------------------------
  9.  
  10. # 2. Ustawienia hasła
  11.     Enter new UNIX password: user2
  12.     Retype new UNIX password: user2
  13.  
  14. # ------------------------------------------------
  15.  
  16. # 3. Użyj komendy usermod, aby dodać użytkownika do grupy sudo.
  17.     $ sudo usermod -aG sudo user2
  18. # Domyślnie w systemie Ubuntu członkowie grupy sudo mają uprawnienia sudo.
  19. # Można to sprawdzić poprzez komendę $ sudo visudo
  20. # 3.1 Sprawdź czy pomyślnie dodano użytkownika
  21.     $ less /etc/passwd
  22. # Przykładowy output
  23.     user2:x:1001:1001:user2,,,:/home/user2:/bin/bash
  24. # 3.1.1 user2 - nazwa użytkownika
  25. # 3.1.2 x - Zaszyfrowane hasło. W prawie wszystkich współczesnych systemach Linux ten wpis zawiera "x".
  26. # Oznacza to, że rzeczywiste zaszyfrowane hasło nie występuje tutaj. Zwykle jest obecne w pliku /etc/shadow
  27. # 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.
  28. # 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.
  29. # 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.
  30. # 3.1.6 home/user2 - Jest to domyślny katalog, w którym użytkownik wyląduje tuż po zalogowaniu.
  31. # 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.
  32. # 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.
  33.  
  34. # ------------------------------------------------
  35.  
  36. # 4. Test dostępu sudo na nowym koncie użytkownika
  37. # 4.1 Użyj polecenia su, aby przełączyć się na nowe konto użytkownika.
  38.     $ su - user2
  39. # 4.2 Na przykład możesz wyświetlić zawartość katalogu / root, który jest zwykle dostępny tylko dla użytkownika root.
  40.     $ sudo ls -la /root
  41.  
  42. # ------------------------------------------------
  43.  
  44. # 5. Instalacja narzędzia OpenSSH
  45.     $ sudo apt-get install openssh-client
  46. # Protokół SSH działa w architekturze klient-serwer, a od wersji 2 nawet w architekturze serwer-klient.
  47.  
  48. # 5.1 Sprawdźmy więc wersje protokołu
  49.     $ ssh -V
  50.  
  51. # 5.2 Po pomyślnym zainstalowaniu OpenSSH możemy sprawdzić status serwera OpenSSH
  52.     $ sudo service ssh status
  53. # Serwisy to systemy działające w tle, najczęściej bez przerw, Ich celem jest dostarczanie usług użytkownikom.
  54. # Demony (ang. daemons) są często częścią serwisów uruchamianych przy starcie systemu.
  55. # 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.
  56.  
  57. # 5.3 Plik konfiguracyjny deaemona SSH(SSHD)
  58.     $ cat /etc/ssh/sshd_config
  59.     $ nano /etc/ssh/sshd_config # edytor tekstowy
  60. # 5.3.1 Port: domyślny port usługi
  61. # 5.3.2 AddressFamily: Określa, która rodzina adresów powinna być używana. IPv4(inet) lub IPv6(inet6)
  62. # 5.3.3 ListenAddress: Określa lokalne adresy, na których powinien nasłuchiwać sshd.
  63. # 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.
  64. # 5.3.5 Ciphers: Określa dozwolone szyfry
  65. # 5.3.6 Loggin: Ustawienia związane ze zbieraniem logów przez sshd.
  66. # 5.3.7 LoginGraceTime: Serwer rozłącza się po tym czasie, jeśli użytkownik nie został pomyślnie zalogowany
  67. # 5.3.8 PermitRootLogin: Określa, czy root może się logować przy użyciu ssh
  68. # Root to nazwa użytkownika lub konto, które domyślnie ma dostęp do wszystkich poleceń i plików w systemie Linux
  69. # 5.3.9 StrictModes: Określa, czy sshd powinien sprawdzać prawa własności plików użytkownika i katalogu domowego przed zaakceptowaniem logowania.
  70. # 5.3.10 MaxAuthTries: Określa maksymalną dozwoloną liczbę prób uwierzytelnienia połączenia
  71. # 5.3.11 MaxSessions: Pozwala na zwiększenie liczby dozwolonych sesji logowania.
  72. # 5.3.12 PubkeyAuthentication: Określa, czy dozwolone jest uwierzytelnianie kluczem publicznym. The domyślnie jest tak.
  73. # 5.3.13 PasswordAuthentication: Określa, czy dozwolone jest uwierzytelnianie hasłem.
  74.  
  75. # ------------------------------------------------
  76.  
  77. # 6. Ustanowienie połączenia SSH User -> User
  78.  $ ssh user@server
  79.  $ whoami # aktualny użytkownik
  80.  $ exit # zakonczenie polaczenia ssh
  81.  
  82. # 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.
  83. # 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.
  84. # Source: http://pasja-informatyki.pl/sieci-komputerowe/protokol-ssh/
  85.  
  86. # 6.1 Wyświetlenie zapisanych kluczy publicznych
  87.     $ cat ~/.ssh/known_hosts
  88. # znak tyldy oznacza katalog domowy
  89.  
  90. # ------------------------------------------------
  91.  
  92. # 7. Usunięcie użytkownika
  93.     $ sudo userdel -r user2
  94.     $ sudo deluser --remove-home user2
  95. # -r Aby usunąć katalog domowy użytkownika i pocztę
  96.     $ less /etc/passwd
  97.  
  98. # ------------------------------------------------
  99.  
  100. # 8. Odinstalowanie OpenSSH # Ostatni krok po przetestowaniu połączenia przez PuTTY
  101. # 8.1 Zatrzymaj usługę ssh przed jej odinstalowaniem
  102.     $ /etc/init.d/ssh stop
  103.     $ service ssh stop # alternatywnie
  104. # 8.2 Odinstalowanie pakietu serwera ssh
  105.     $ apt-get remove openssh-server
  106.     $ sudo service ssh status
  107.  
  108. # ------------------------------------------------
  109.  
  110.  
  111.             # II. Połączenie SSH windows -> linux (PuTTY)
  112.  
  113. # ------------------------------------------------
  114.  
  115. # 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.
  116.  
  117. # ------------------------------------------------
  118.  
  119. # 2. Sposób 1: przekazywanie portów
  120. # Port protokołu lub port sieciowy – interfejs służący komunikacji w sieci komputerowej.
  121. # 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.
  122.  
  123. # 2.1 Ustawiamy sposób w jaki nasz Virtualny Adapter Sieciowy jest połączony do sieci Hosta
  124.     Machine -> Settings -> Network -> NAT
  125. # 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.
  126.  
  127. # 2.2 Tworzymy regułę przekazywania portów
  128. # Sprawdzamy adres IP hosta oraz Guesta
  129.     linux: sudo ifconfig
  130.     windows: ipconfig
  131. # Tworzymy nową regułę
  132.     Machine -> Settings -> Network -> Port Forwarding
  133.     Name -> SSH
  134.     Host IP: IP windows
  135.     Host Port: 1000
  136.     Guest IP: IP linux
  137.     Guest Port: 22 # domyślny port SSH
  138. # 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.
  139.  
  140. # 2.3 Konfiguracja Programu PuTTY
  141.     Host Name: IP hosta - Windows # Ponieważ przekazaliśmy port na adres Hosta
  142.     Port: 1000 # 22 -> 1000
  143.  
  144. # 2.4 Ustanowienie połączenia
  145.     Klikamy przycisk: Open
  146.  
  147. # ------------------------------------------------
  148.  
  149. 3. Sposób 2: most sieciowy
  150. # Most (ang. bridge) - to urządzenie sieciowe pozwala na łączenie segmentów sieciowych i jednoczesne filtrowanie ruchu sieciowego.
  151. # 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.
  152.  
  153. # 3.1 Ustawiamy sposób w jaki nasz Virtualny Adapter Sieciowy jest połączony do sieci Hosta
  154.     Machine -> Settings -> Network -> Bridged Adapter
  155.  
  156. # 2.2 Sprawdzamy adres IP Guesta
  157.     linux: sudo ifconfig
  158.  
  159. # 2.3 Konfiguracja Programu PuTTY
  160.     Host Name: IP Guesta - linux # Ponieważ zmostkowaliśmy połączenie
  161.     Port: 22
  162.  
  163. # 2.4 Ustanowienie połączenia
  164.     Klikamy przycisk: Open
  165.  
  166. # ------------------------------------------------
  167.  
  168. # BONUS
  169. # W razie problemów z reinstalacją SSH
  170.     $ apt-get remove openssh-server
  171.     $ sudo apt-get purge openssh-server
  172.     $ sudo apt-get install openssh-server
  173. # 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