0Pricing
Linux Server Deployment & SSH Mastery · Lekcja

Agent SSH i połączenia wieloskokowe

Korzystaj z agenta SSH do wygodnego zarządzania kluczami i konfiguruj wieloskokowe połączenia SSH, aby uzyskiwać dostęp do głęboko zagnieżdżonych sieci.

Agent SSH i połączenia wieloskokowe to bezpłatna lekcja Linux Server Deployment & SSH Mastery na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Linux Server Deployment & SSH Mastery, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Agent SSH: klucz do wygody

Mają Państwo dość wpisywania hasła do klucza SSH przy każdym łączeniu się z serwerem? Z pomocą przychodzi agent SSH!

  • Jest to program działający w tle, który bezpiecznie przechowuje klucze prywatne.
  • Klucze odblokowuje się za pomocą ich hasła tylko raz na sesję.
  • Dzięki temu można łączyć się z wieloma serwerami bez ponownego wpisywania hasła, zwiększając zarówno wygodę, jak i bezpieczeństwo.

Uruchamianie agenta SSH

Przed dodaniem kluczy należy uruchomić agenta SSH. Zwykle działa on jako proces w tle.

Można go uruchomić i skonfigurować powłokę tak, aby z niego korzystała, za pomocą tego polecenia:

eval "$(ssh-agent -s)"

Dodawanie kluczy do agenta

Po uruchomieniu agenta można dodać do niego klucze prywatne. Służy do tego polecenie ssh-add:

  • Pojawi się prośba o podanie hasła do klucza.
  • Klucz pozostanie załadowany do momentu zatrzymania agenta lub jego jawnego usunięcia.

Aby sprawdzić, które klucze są załadowane, należy użyć polecenia ssh-add -l.

ssh-add ~/.ssh/id_rsa
ssh-add -l

Przekazywanie agenta: koncepcja

Czasami trzeba połączyć się z jednego serwera (Serwer A) z innym serwerem (Serwer B) za pomocą lokalnego klucza SSH, bez przechowywania tego klucza na Serwerze A.

Przekazywanie agenta pozwala lokalnemu agentowi SSH obsługiwać uwierzytelnianie połączeń inicjowanych ze zdalnego serwera. Można to porównać do tymczasowego udostępnienia lokalnego agenta zdalnemu hostowi.

Korzystanie z przekazywania agenta

Aby włączyć przekazywanie agenta, wystarczy dodać flagę -A podczas łączenia się z pierwszym serwerem (hostem przesiadkowym).

Następnie z hosta przesiadkowego można połączyć się z innym serwerem za pomocą lokalnych kluczy, bez przechowywania ich na hoście przesiadkowym. To potężna funkcja bezpieczeństwa!

ssh -A user@jump_host
# Now, from jump_host, connect to target_server
ssh user@target_server

Wieloetapowe SSH: dostęp do głęboko zagnieżdżonych sieci

Co zrobić, jeśli serwer docelowy nie jest dostępny bezpośrednio z komputera lokalnego, lecz można się z nim połączyć tylko przez serwer pośredniczący (tzw. host przeskoku)?

Wieloetapowe SSH, znane również jako łańcuchowanie SSH, umożliwia nawiązanie połączenia przez jeden lub więcej serwerów pośredniczących w celu dotarcia do miejsca docelowego.

Wieloetapowe SSH z użyciem ProxyJump

Najłatwiejszym i najczęściej zalecanym sposobem skonfigurowania wieloetapowego SSH jest użycie dyrektywy ProxyJump w pliku ~/.ssh/config.

Informuje ona klienta SSH, aby najpierw połączył się z JumpHost, a następnie stamtąd nawiązał połączenie z TargetServer.

Host TargetServer
  HostName 192.168.1.100
  User myuser
  ProxyJump jump_host_user@jump.example.com

Wieloetapowe SSH z użyciem ProxyCommand

W przypadku starszych klientów SSH lub bardziej złożonych scenariuszy ProxyCommand zapewnia większą elastyczność. Wykonuje polecenie, które nawiązuje połączenie z serwerem docelowym.

Część ssh -W %h:%p informuje SSH, aby przekierowywał standardowe wejście i wyjście do docelowego hosta i portu.

Host TargetServer
  HostName 192.168.1.100
  User myuser
  ProxyCommand ssh jump_host_user@jump.example.com -W %h:%p

Łączenie przekazywania agenta z wieloetapowym SSH

Można połączyć te zaawansowane funkcje! Użycie przekazywania agenta w konfiguracji wieloetapowego SSH pozwala uniknąć ponownego wpisywania haseł do kluczy.

Wystarczy dodać ForwardAgent yes do konfiguracji hosta przeskoku w pliku ~/.ssh/config albo użyć polecenia ssh -A dla hosta przeskoku. Dzięki temu agent lokalny będzie mógł uwierzytelnić Państwa również na docelowym serwerze.

Host JumpHost
  HostName jump.example.com
  User jump_user
  ForwardAgent yes

Host TargetServer
  HostName 192.168.1.100
  User target_user
  ProxyJump JumpHost

Szybkie sprawdzenie: funkcje SSH

Rozważ poniższe stwierdzenia dotyczące agenta SSH i wieloetapowego SSH. Które z nich są PRAWDZIWE?

Podsumowanie: bezproblemowy i bezpieczny dostęp

W tej lekcji opanowali Państwo dwie zaawansowane techniki SSH:

  • Agent SSH: Przechowuje odblokowane klucze, eliminując konieczność wielokrotnego wpisywania hasła do klucza, co zwiększa wygodę i bezpieczeństwo.
  • Przekazywanie agenta: Bezpiecznie udostępnia możliwości agenta lokalnego zdalnym serwerom, umożliwiając uwierzytelnianie z hosta przeskoku przy użyciu lokalnych kluczy.
  • Wieloetapowe SSH: Umożliwia dostęp do głęboko zagnieżdżonych sieci za pośrednictwem pośrednich hostów przeskoku, konfigurowanych łatwo za pomocą ProxyJump lub ProxyCommand.

Narzędzia te są niezbędne do wydajnego i bezpiecznego zarządzania złożoną infrastrukturą serwerową.

Często zadawane pytania

Czy lekcja „Agent SSH i połączenia wieloskokowe” jest bezpłatna?

Tak — pełny tekst „Agent SSH i połączenia wieloskokowe” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Linux Server Deployment & SSH Mastery, przejdź na CoddyKit PRO. Kurs Linux Server Deployment & SSH Mastery zawiera 4 lekcji w sumie.

Co nauczysz się w „Agent SSH i połączenia wieloskokowe”?

Korzystaj z agenta SSH do wygodnego zarządzania kluczami i konfiguruj wieloskokowe połączenia SSH, aby uzyskiwać dostęp do głęboko zagnieżdżonych sieci. Ćwiczysz Linux Server Deployment & SSH Mastery z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Linux Server Deployment & SSH Mastery?

Nie wymagamy żadnego doświadczenia. Linux Server Deployment & SSH Mastery w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Agent SSH i połączenia wieloskokowe”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Linux Server Deployment & SSH Mastery?

Tak. Każda lekcja Linux Server Deployment & SSH Mastery zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Przekierowanie portów SSH (lokalne/zdalne)
  2. Tunele SSH i serwer proxy SOCKS
  3. Agent SSH i połączenia wieloskokowe
  4. Bezpieczny transfer plików z SCP, SFTP i rsync
← Powrót do Linux Server Deployment & SSH Mastery