Konfiguracja SSH - klucze
Generowanie kluczy - linux
Obecnie zaleca się używanie algorytmu Ed25519, który jest szybszy i bezpieczniejszy niż starsze RSA:
ssh-keygen -t ed25519_nazwa -C "twoj_opis@gmail.com"-t ed25519: Określa typ klucza.
-C: To komentarz (opcjonalny), który pomaga zidentyfikować klucz.
id_ed25519 – Klucz prywatny (Nigdy nikomu go nie wysyłaj!).
id_ed25519.pub – Klucz publiczny (Ten klucz wgramy na serwer).
Nadanie uprawnień
Rekomendowane uprawnienia:
Katalog
~/.ssh/—700(drwx------)Klucz prywatny (
id_ed25519) —600(-rw-------)Klucz publiczny (
id_ed25519.pub) —644(-rw-r--r--)Plik
authorized_keys(na serwerze) —600(-rw-------)Plik
config—600(-rw-------)
Na linux - klucz prywatny
chmod 600 ~/.ssh/id_ed25519Na Windows - klucz prywatny
Skopiować klucz prywatny do folderu usera:
mkdir %USERPROFILE%\.sshSkopiować klicze prywatne
:: 1. Przejmij na własność
takeown /f "id_ed25519"
:: 2. Wyłącz dziedziczenie i skopiuj obecne uprawnienia jako jawne
icacls "id_ed25519" /inheritance:r
:: 3. Teraz nadaj sobie pełne prawa
icacls "id_ed25519" /grant:r "%USERNAME%":"(F)"
:: 4. Usuń wszystkich innych (opcjonalnie, ale ważne dla SSH)
icacls "id_ed25519" /remove "Everyone"
icacls "id_ed25519" /remove "Authenticated Users"
icacls "id_ed25519" /remove "Users"Ważne: Jeśli używasz wbudowanego w Windows 10/11 agenta SSH (OpenSSH Authentication Agent), po ustawieniu uprawnień warto dodać klucz do agenta komendą
ssh-add %USERPROFILE%\.ssh\plik_kluczaPrzesłanie klucza publicznego na serwer (tylko z linux)
ssh-copy-id -i ~/.ssh/id_ed25519.pub login@ipMetoda 2:
- skopiować treść klucza pub
cat ~/.ssh/id_ed25519.pub - otworzyć plik authorized_keys na serwerze zdalnym plik i wkleić na końcu kod klucza
Plik config
nano ~/.ssh/config
chmod 700 ~/.ssh/configHost serwer-produkcja
HostName 192.168.1.50
User admin
Port 2222
IdentityFile ~/.ssh/id_ed25519
Host mojadomena
HostName example.com
User root
Połączenie
ssh serwer-produkcja