ZARZąDZANIE HOSTINGIEM (DIRECTADMIN) • 5 MIN READ

Klucze SSH i dostęp SSH

Jak wygenerować klucz SSH, dodać go do DirectAdmin i łączyć się bez hasła. Dostęp SSH dostępny w pakietach HS5+. Bezpieczna alternatywa dla haseł.

Zespół IQHost 14 maj 2026 5m read
#DirectAdmin #IQHost #hosting

SSH (Secure Shell) = zdalna konsola Linux. Daje dostęp do terminala serwera — możesz tam: edytować pliki, uruchamiać skrypty, robić mysqldump, używać git. Klucze SSH to bezpieczna alternatywa dla haseł — krypto-para (klucz publiczny + prywatny).

Co zyskasz

  • Wygenerujesz klucz SSH lokalnie.
  • Dodasz klucz do DirectAdmin.
  • Połączysz się przez SSH bez hasła.
  • Skonfigurujesz ~/.ssh/config dla wielu serwerów.

Wymagania wstępne

  • Pakiet HS5+ (SSH dostępne).
  • Lokalny komputer z ssh-keygen (Linux/Mac wbudowane, Windows: WSL lub PuTTY).

Wskazówka

SSH = pakiety HS5+. Pakiet HS1 nie ma SSH. Wszystkie operacje przez panel DA i FTP.

Krok 1: Wygeneruj klucz lokalnie

Linux / Mac / Windows WSL:

ssh-keygen -t ed25519 -C "[email protected]"
  • -t ed25519 — typ klucza (nowoczesny, szybki, bezpieczny). Alternatywa: -t rsa -b 4096 (kompatybilność).
  • -C "..." — komentarz (zwykle email — łatwiejsze identyfikowanie kluczy)

Pyta o:

  • Lokalizację — zostaw default (~/.ssh/id_ed25519)
  • Passphrase — opcjonalne hasło chroniące klucz lokalnie

Generuje dwa pliki:

  • ~/.ssh/id_ed25519prywatny (NIGDY nie udostępniaj!)
  • ~/.ssh/id_ed25519.pubpubliczny (udostępniasz)

Windows (PuTTYgen):

  1. Pobierz PuTTY: putty.org
  2. Uruchom PuTTYgen
  3. Type: EdDSA Ed25519Generate
  4. Save private key → np. C:\keys\id_ed25519.ppk
  5. Skopiuj klucz publiczny z górnego pola Pełna strona Klucze SSH — zakładki Public/Private/Authorized

Krok 2: Dodaj klucz publiczny do DirectAdmin

Funkcje zaawansowane → Klucze SSH.

Strona Klucze SSH w DA na koncie host36592

W formularzu:

  • Nazwa klucza — np. Laptop biuro
  • Klucz publiczny — wklej całą zawartość ~/.ssh/id_ed25519.pub (jedna linia, zaczyna się od ssh-ed25519 AAAAC3...)

Zapisz.

Krok 3: Test połączenia

ssh host36592@host36592.iqhs.pl

Powinno połączyć się bez pytania o hasło.

Pierwsze połączenie pyta o akceptację klucza serwera (Are you sure you want to continue connecting?) — wpisz yes. Następne razy bez tego.

Krok 4: Konfiguracja ~/.ssh/config

Jeśli używasz kilku serwerów, łatwiej:

# ~/.ssh/config

Host iqhost
  HostName host36592.iqhs.pl
  User host36592
  IdentityFile ~/.ssh/id_ed25519
  Port 22

Teraz wystarczy:

ssh iqhost

Zamiast pełnego adresu.

Co możesz zrobić przez SSH

# Edycja plików (vim, nano)
nano /home/host36592/domains/mojafirma.pl/public_html/.htaccess

# Sprawdzenie wersji PHP
php -v

# Sprawdzenie aktywnych extensions
php -m

# Backup bazy
mysqldump -u host36592_wp -p host36592_wp > backup.sql

# WP-CLI
wp plugin list
wp plugin update --all
wp db export

# Git
cd /home/host36592/domains/mojafirma.pl/public_html
git pull origin main

# Composer
composer install
composer update

# NPM
npm install
npm run build

SSH dla webmastera (bez DA)

Chcesz dać dostęp SSH tylko do public_html jednej domeny? Niemożliwe natywnie — SSH daje pełen dostęp do home directory.

Workarounds:

  1. Osobne konto FTP (chroot do public_html) — patrz Dodanie konta FTP
  2. Login Key dla DA (ograniczony) — patrz Login Keys
  3. Git Manager w DA — patrz Git Manager

Najczęstsze problemy

1. „Permission denied (publickey)"

  • Klucz publiczny niepoprawnie wklejony (sprawdź czy jest jedna linia, bez znaków nowej linii w środku)
  • ~/.ssh/id_ed25519 ma złe uprawnienia (musi 600): chmod 600 ~/.ssh/id_ed25519
  • ~/.ssh katalog złe uprawnienia: chmod 700 ~/.ssh

2. „Klucz dodany, ale nadal pyta o hasło"

  • Sprawdź czy serwer akceptuje klucz: ssh -v host36592@host36592.iqhs.pl (verbose mode, pokazuje próby)
  • Restart sshd? Klient cachuje credentials — sprawdź ~/.ssh/known_hosts

3. „Mam wiele kluczy — który użyje"

SSH używa pierwszego pasującego. Wymuś:

ssh -i ~/.ssh/specific_key host36592@host36592.iqhs.pl

Lub w ~/.ssh/config przypisz IdentityFile per host.

4. „PuTTY format vs OpenSSH"

PuTTY (.ppk) ≠ OpenSSH (id_rsa). Konwersja w PuTTYgen → Conversions → Export OpenSSH key.

5. „Zgubiłem klucz prywatny"

Nie odzyskasz. Wygeneruj nowy, dodaj do DA, usuń stary z DA.

6. „Klucze SSH dla bash dostępu vs SFTP"

Ten sam klucz działa dla obu. SFTP używa SSH protocol pod spodem.

7. „Mogę mieć kilka kluczy na koncie?"

Tak — dodaj każdy osobno w DA. Wszystkie działają (alternatywy).

Bezpieczeństwo

  • Klucz prywatny NIGDY nie udostępniaj. Jest jak hasło — kto ma, ten ma dostęp.
  • Passphrase dla klucza — dodatkowa warstwa. Jeśli klucz wycieknie, atakujący nie zaloguje się bez passphrase.
  • Klucze per device/projekt — osobny klucz na laptop biurowy, prywatny, projekt X. Łatwiej revoke (usunąć z DA) jak jeden wycieknie.
  • Audyt — co kilka miesięcy usuń klucze starych urządzeń.

Słowniczek

  • SSH key pair — para klucz publiczny + prywatny.
  • ~/.ssh/authorized_keys — plik na serwerze z dozwolonymi kluczami publicznymi (DA zarządza za Ciebie).
  • Fingerprint — skrócony hash klucza do identyfikacji.
  • Passphrase — hasło chroniące klucz prywatny lokalnie.

Related

Feedback

Czy ten artykuł pomógł?

Potwierdź