Mikrus
Dobry do nauki kluczy SSH, tuneli i deployu przez terminal.
#Reklama · link partnerski
Zobacz kod rabatowy →Klucze SSH to standard bezpiecznego dostępu do serwerów. Konfiguracja parą kluczy i wyłączenie logowania hasłem to pierwsze co powinieneś zrobić po uruchomieniu nowego VPS — eliminuje setki prób bruteforce dziennie.
Opublikowano: 8 kwietnia 2026
Zalecany algorytm to Ed25519 — krótszy klucz, szybszy i tak samo bezpieczny jak RSA 4096:
# Ed25519 (zalecany) ssh-keygen -t ed25519 -C "[email protected]" # RSA 4096 (kompatybilność ze starszymi systemami) ssh-keygen -t rsa -b 4096 -C "[email protected]" # Wygeneruje: # ~/.ssh/id_ed25519 — klucz PRYWATNY (NIGDY nie udostępniaj!) # ~/.ssh/id_ed25519.pub — klucz publiczny (kopiujesz na serwer)
Passphrase: Ustaw silne hasło do klucza prywatnego — jeśli ktoś uzyska dostęp
do pliku klucza, nie będzie mógł go użyć bez hasła. Użyj ssh-agent aby nie wpisywać go przy każdym połączeniu.
# Metoda 1 — ssh-copy-id (najprościej, Linux/Mac) ssh-copy-id -i ~/.ssh/id_ed25519.pub user@ip-serwera # Metoda 2 — ręcznie cat ~/.ssh/id_ed25519.pub | ssh user@ip-serwera "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" # Metoda 3 — jeśli masz już dostęp przez panel hostingu # Skopiuj zawartość id_ed25519.pub do pola "SSH Keys" w cPanel/DirectAdmin
Sprawdź uprawnienia na serwerze:
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys # Te uprawnienia są OBOWIĄZKOWE — SSH odmówi klucza przy nieprawidłowych
Po upewnieniu się, że logowanie kluczem działa — wyłącz hasła w
/etc/ssh/sshd_config:
# Edytuj /etc/ssh/sshd_config: PasswordAuthentication no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PermitRootLogin prohibit-password # lub 'no' jeśli masz sudo user X11Forwarding no # Zastosuj zmiany: systemctl reload sshd
WAŻNE: Przed wyłączeniem haseł przetestuj logowanie kluczem w osobnej sesji SSH. Jeśli wyłączysz hasła bez działającego klucza — utracisz dostęp do serwera. Miej otwartą sesję SSH jako backup.
Zamiast pamiętać parametry każdego serwera, utwórz ~/.ssh/config:
Host mojvps HostName 203.0.113.10 User admin Port 22 IdentityFile ~/.ssh/id_ed25519 Host staging HostName staging.mojastrona.pl User deploy Port 2222 IdentityFile ~/.ssh/id_ed25519_staging # Teraz wystarczy: # ssh mojvps (zamiast: ssh -i ~/.ssh/id_ed25519 -p 22 [email protected]) # ssh staging
SSH tunnel pozwala bezpiecznie dostać się do usług działających na serwerze (phpMyAdmin, Redis, PostgreSQL) bez otwierania ich na świat:
# phpMyAdmin przez tunel (dostępny na localhost:8080) ssh -L 8080:localhost:80 mojvps # Otwórz: http://localhost:8080/phpmyadmin/ # PostgreSQL przez tunel (dostępny na localhost:5432) ssh -L 5432:localhost:5432 mojvps # Połącz: psql -h localhost -U user dbname # Redis przez tunel (dostępny na localhost:6379) ssh -L 6379:localhost:6379 mojvps # SOCKS5 proxy przez serwer (cały ruch przechodzi przez serwer) ssh -D 1080 mojvps # Skonfiguruj przeglądarkę: SOCKS5 localhost:1080
Te VPS-y pozwalają sensownie ćwiczyć logowanie bez hasła, zmianę portu SSH i dodatkowe zabezpieczenia.