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ł.
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/configdla 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_ed25519— prywatny (NIGDY nie udostępniaj!)~/.ssh/id_ed25519.pub— publiczny (udostępniasz)Windows (PuTTYgen):
- Pobierz PuTTY: putty.org
- Uruchom PuTTYgen
- Type: EdDSA Ed25519 → Generate
- Save private key → np.
C:\keys\id_ed25519.ppk- Skopiuj klucz publiczny z górnego pola
Krok 2: Dodaj klucz publiczny do DirectAdmin
Funkcje zaawansowane → Klucze SSH.
W formularzu:
- Nazwa klucza — np.
Laptop biuro- Klucz publiczny — wklej całą zawartość
~/.ssh/id_ed25519.pub(jedna linia, zaczyna się odssh-ed25519 AAAAC3...)Zapisz.
Krok 3: Test połączenia
ssh host36592@host36592.iqhs.plPowinno połączyć się bez pytania o hasło.
Pierwsze połączenie pyta o akceptację klucza serwera (
Are you sure you want to continue connecting?) — wpiszyes. Następne razy bez tego.
Krok 4: Konfiguracja
~/.ssh/configJeśli używasz kilku serwerów, łatwiej:
# ~/.ssh/config Host iqhost HostName host36592.iqhs.pl User host36592 IdentityFile ~/.ssh/id_ed25519 Port 22Teraz wystarczy:
ssh iqhostZamiast 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:
- Osobne konto FTP (chroot do
public_html) — patrz Dodanie konta FTP - Login Key dla DA (ograniczony) — patrz Login Keys
- 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_ed25519ma złe uprawnienia (musi 600):chmod 600 ~/.ssh/id_ed25519~/.sshkatalog 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ł?

