Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Generator ~/.ssh/config

Wygodne skróty do serwerów SSH

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
Uzupełnij parametry, aby wygenerować wpis SSH.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Generator konfiguracji SSH

Plik ~/.ssh/config pozwala zapisać parametry połączeń i używać krótkich aliasów. Zamiast wpisywać długie polecenia, wystarczy ssh serwer.

Najważniejsze opcje

OpcjaZnaczenie
Hostalias używany w poleceniu ssh
HostNamerzeczywisty adres serwera
Usernazwa użytkownika
Portport SSH (domyślnie 22)
IdentityFileklucz prywatny do uwierzytelniania
ProxyJumpserwer pośredniczący (bastion)

Uprawnienia pliku

Plik ~/.ssh/config powinien mieć uprawnienia 600, a katalog ~/.ssh — 700. Inaczej SSH zignoruje konfigurację.

Przykład

Po dodaniu wpisu z aliasem prod łączysz się przez ssh prod, a narzędzia takie jak scp czy rsync również korzystają z tych ustawień.

Jak generator zamienia formularz na blok Host

Generator działa lokalnie i nie łączy się z żadnym serwerem. Jego zadaniem jest zamiana wartości z formularza na składnię zrozumiałą dla OpenSSH. Każdy wpis powstaje jako blok rozpoczynający się od dyrektywy Host, która pełni rolę aliasu, a w kolejnych liniach znajdują się parametry połączenia. Narzędzie nie zgaduje danych, których nie podano — jeśli pole zostaje puste, nie powinno tworzyć pustej dyrektywy.

OpenSSH czyta plik config od góry do dołu. Dla danego połączenia wybiera bloki, których wzorzec Host pasuje do nazwy użytej w poleceniu. W praktyce oznacza to, że bardziej szczegółowe wpisy trzeba umieszczać przed ogólnymi, na przykład przed Host *. Późniejszy blok może uzupełnić tylko te opcje, które nie zostały ustawione wcześniej, dlatego kolejność jest częścią mechanizmu, a nie kosmetyką.

Wzorce w dyrektywie Host mogą zawierać znaki specjalne, takie jak gwiazdka lub znak zapytania. Dzięki temu można jednym blokiem objąć całą domenę albo grupę serwerów. Generator porządkuje wpisy, ale nie interpretuje ich za OpenSSH — wynikowy plik nadal działa według reguł klienta SSH.

Przykład krok po kroku: alias do bazy przez bastion

  1. W polu Host wpisz alias db-prod. To nazwa, której będziesz używać w poleceniu ssh, a nie adres serwera.
  2. W polu HostName podaj db.example.com, czyli rzeczywistą nazwę DNS maszyny docelowej.
  3. Ustaw User na deploy, Port na 22, a IdentityFile na ~/.ssh/id_ed25519. Port 22 jest domyślny, ale wpisany jawnie nie zmienia działania.
  4. W polu ProxyJump wskaż bastion. Połączenie do db-prod przejdzie najpierw przez ten serwer pośredniczący.
  5. Zapisz wygenerowany blok w pliku ~/.ssh/config. Katalog ~/.ssh ustaw na 700, a sam plik config na 600.
  6. Wykonaj polecenie ssh db-prod. OpenSSH użyje aliasu, adresu db.example.com, użytkownika deploy, portu 22, klucza id_ed25519 i bastionu jako ProxyJump. Blok ma 6 linii: nagłówek Host oraz 5 dyrektyw.

Tabela referencyjna dyrektyw i uprawnień

Dyrektywa lub elementPrzykładowa wartośćZnaczenie i skutek
Hostdb-prodAlias używany w poleceniu ssh; nagłówek bloku konfiguracji.
HostNamedb.example.comRzeczywisty adres lub nazwa DNS serwera docelowego.
UserdeployNazwa użytkownika na serwerze zdalnym.
Port22Domyślny port SSH; jeśli go pominąć, OpenSSH i tak użyje 22.
IdentityFile~/.ssh/id_ed25519Ścieżka do klucza prywatnego używanego do uwierzytelniania.
ProxyJumpbastionSerwer pośredniczący, przez który przechodzi połączenie.
Uprawnienia ~/.ssh/config600Plik może być czytany i zapisywany tylko przez właściciela; inaczej SSH może zignorować konfigurację.
Uprawnienia ~/.ssh700Katalog dostępny tylko dla właściciela; grupa i inni nie powinni mieć dostępu.

Praktyczne wskazówki przy budowaniu configu

  • Trzymaj osobne bloki dla różnych środowisk — nie mieszaj produkcyjnego aliasu z testowym w jednym Host. Łatwiej wtedy zmienić klucz lub port bez wpływu na resztę.
  • Wartości domyślne przenieś do Host * — ustaw tam User, IdentityFile albo Port 22, a w blokach szczegółowych nadpisuj tylko wyjątki.
  • Komentuj wpisy — linia zaczynająca się od # pomaga opisać, do czego służy alias, szczególnie gdy config rośnie.
  • Testuj efektywną konfigurację — polecenie ssh -G alias wypisuje wartości, które OpenSSH faktycznie zastosuje. To szybsze niż szukanie błędu w pliku.
  • Nie kopiuj prywatnych kluczy do repozytorium — w configu podawaj ścieżkę do klucza, a sam plik klucza trzymaj poza projektem i zabezpiecz uprawnieniami.

Czego generator nie zrobi za Ciebie

  • Nie sprawdza dostępności hosta — wygenerowany wpis może być poprawny składniowo, ale serwer może być wyłączony, port zablokowany przez firewall albo DNS nie działa.
  • Nie zastępuje sshd_config — konfiguracja po stronie klienta nie zmienia ustawień serwera SSH ani zasad logowania.
  • Nie tworzy ani nie kopiuje kluczy — IdentityFile to tylko ścieżka; jeśli plik nie istnieje albo ma złe uprawnienia, uwierzytelnianie nie zadziała.
  • Nie rozstrzyga konfliktów kolejności — OpenSSH wybiera wartości według własnych reguł dopasowania i kolejności bloków. Generator ustawia tekst, ale nie gwarantuje, że nadpiszesz wcześniejszy wpis w innym pliku config.

Najczęstsze pytania

Po co ForwardAgent?

Pozwala użyć lokalnych kluczy na serwerze zdalnym — przydatne, gdy z serwera łączysz się dalej z Git lub innymi hostami.

Co daje ProxyJump?

Łączy przez serwer pośredniczący (bastion), co jest bezpieczniejsze niż wystawianie wewnętrznych maszyn na internet.

Czy konfiguracja działa dla wszystkich narzędzi?

Tak — OpenSSH oraz korzystające z niego git, scp, rsync i VS Code Remote stosują plik config.

Czym różni się Host od HostName w pliku ~/.ssh/config?

Host to lokalny alias, którego używasz w poleceniu ssh. HostName to rzeczywisty adres lub nazwa DNS serwera. Jeśli pominiesz HostName, OpenSSH spróbuje połączyć się z nazwą podaną w Host.

Czy w ~/.ssh/config można używać gwiazdek i wzorców?

Tak. Host * obejmuje wszystkie hosty, a wzorce mogą zawierać gwiazdkę i znak zapytania. Bardziej szczegółowe bloki umieszczaj przed ogólnymi, ponieważ OpenSSH przetwarza plik od góry do dołu.

Jak sprawdzić, którego wpisu SSH używa dla aliasu?

Użyj polecenia ssh -G alias. Wypisze ono efektywną konfigurację bez łączenia się z serwerem. Do diagnostyki samego połączenia służy ssh -v alias.

Czy port 22 trzeba wpisywać w config?

Nie. Port 22 jest domyślnym portem SSH, więc przy standardowej konfiguracji serwera można pominąć dyrektywę Port. Wpisuje się ją wtedy, gdy port został zmieniony.

Co się stanie, gdy kilka bloków Host pasuje do tego samego aliasu?

OpenSSH przetwarza plik od góry i dla wielu opcji pierwsza dopasowana wartość ma znaczenie. Późniejsze bloki mogą uzupełnić tylko te dyrektywy, które nie zostały ustawione wcześniej.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!