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_ed25519
Na Windows - klucz prywatny

Skopiować klucz prywatny do folderu usera: %USERPROFILE%%USERPROFILE%  %USERPROFILE%\.ssh 

mkdir %USERPROFILE%\.ssh

Skopiować 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_klucza

Przesłanie klucza publicznego na serwer (tylko z linux)

ssh-copy-id -i ~/.ssh/id_ed25519.pub login@ip

Metoda 2:

  1. skopiować treść klucza pub
    cat ~/.ssh/id_ed25519.pub
  2. otworzyć plik authorized_keys na serwerze zdalnym plik i wkleić na końcu kod klucza
     

Plik config

nano ~/.ssh/config
chmod 700 ~/.ssh/config
Host 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

 

 

Spis treści: