Jelszó nélkül nem annyira ajánlott, de sose lehet tudni, mikor jöhet jól [lásd: lentebb: kulcs+jelszó].
Kliens oldalon: [Ahonnan jelszó nélkül akarsz belépni, "user" helyére [/home/
user/stb] írd a
felhasználó nevét, vagy ahol értelemszerűen van a home mappája.
$USER-t írva az éppen bejelentkezett felhasználó kerül oda automatikusan.]
Generáljuk le a kulcsot, jelszó nélkül:
time ssh-keygen -b 8192 -t rsa -f /home/user/.ssh/id_rsa -P '' -v
|
Nem muszáj 8192 bites kulcsot létrehozni, elég csak egy 4096 bit-est pl. [de attól kisebbet ne].
A "time" paranccsal lehet megtudni, hogy mennyi ideig tartott a generálás. Legfeljebb 32 768 bit-es kulcs készíthető, de az már valószínűleg lassabb belépéshez, és
hosszú generálási időhöz vezet [pár óra? - fixme + de elvileg scp-zést nem lassítaná - fixme2].
8192 bit-es kulcs egy átlag mai gépen ~1 perc alatt generálódik.
Ezzel két fájl jön létre:
- id_rsa: privát kulcsod, NE add oda senkinek!!!
- id_rsa.pub: a publikus kulcsod
Most a
serveren [ahová be akarsz lépni jelszó nélkül] telepítsd az "openssh-server"-t:
apt-get install openssh-server
|
Hozzunk létre egy usert, akinek majd megengedjük az SSH-t [a "valaki" az SSHFELHASZNALO a későbbiekben, és ha lehet valami
nem kitalálható legyen a neve, én csak egy példa miatt adtam a "valaki"-t]:
Jelszót adjunk neki:
Szerkesszük meg egy kicsit a "/etc/ssh/sshd_config" fájlt
Vim-el:
AllowUsers SSHFELHASZNALO
|
Ezzel beállítjuk, hogy csak az SSHFELHASZNALO léphet be SSH-val. Szóközzel elválasztva írhatunk több felhasználó nevet.
Megfelelő port kiválasztása, hogy nagyon NE az alapértelmezetten menjen az SSH:
Port VALAMI-NEM-ALAP-PORTSZAM
|
Még négy
fontos dolog, ami nem alapértelmezett:
X11Forwarding no
AllowTcpForwarding no
GatewayPorts no
PermitRootLogin no
|
Mivel módosítottuk a config fájlt, indítsuk újra az ssh-t:
Vissza a klienshez: másoljuk át az "id_rsa.pub"-ot a serverre:
ssh-copy-id -i /home/user/.ssh/id_rsa.pub '-p PORTSZAM SSHFELHASZNALO@SERVER-IP-CIME'
|
A "'"-ba tétel a végén fontos, mármint ha nem alapértelmezett
port van beállítva.
Kész.
Lépjünk be a kliensről, a serverre, és nem fog jelszót kérni:
ssh SSHFELHASZNALO@SERVER-IP-CIME -p PORTSZAM
|
Ha kulccsal + jelszóval szeretnél belépni [kiegészítés]
Mivel ez nagyban
megnöveli a biztonságot. Jelszó nélküli belépés pl.: scriptelésnél, stb helyzetben lehet jó. Itt viszont annyi a különbség, hogy a kulcs generálásakor nem kell a "-P ''", ekkor jelszót fog kérni:
time ssh-keygen -b 8192 -t rsa -f /home/user/.ssh/id_rsa -v
|
És amikor szerkeszted a serveren a "/etc/ssh/sshd_config" fájlt, akkor a:
PasswordAuthentication no
|
-t
FONTOS beállítani! Ezek után belépni csak a kulcs +
ahhoz tartozó jelszó párossal lehet :)
ui.:
Egy forrás
ui2.:
Alap user kezelés
ui3.: Talán ide tartozhat:
GPG-ről
ui4.: "openssh-server v5.1p1-5"-el próbáltam.
ui5.:
Hup.hu link
ui6.:
SSH Tips and Tricks
ui7.:
SSH kulcsok használata
ui8.:
Napi tipp: Ha SSH van, minden van
ui9.:
man sshd_config és
man ssh_config
ui10.: Későbbi bővítés lesz: bruteforce elleni védelem + port knocking
üdv!
VálaszTörlésEzt nagyon túlbonyolítottad :-)
felesleges az mkdir, az ssh-keygen a mappát is létrehozza, "ssh-keygen -b 8192 -t rsa"
felesleges a másik oldalon a "catolás", az "ssh-copy-id -c ~/.ssh/id.rsa.pub user@host" szintén a kliens oldalról mindent elintéz helyetted...
de legalább jó tudni, hogy ~mi történik a háttérben :) köszi a hozzászólást :)
VálaszTörlésRaadasul ha jol latom jelszo nelkul hozza letre a kulcsot... erosen ellenjavallt.
VálaszTörléslerövidítettem az írást a ssh-copy-id-vel
VálaszTörléskiegészítettem, most már kulcs+jelszó is van benne na :)
VálaszTörlésaz eleresi utakban a /home/user kicserelheto /home/$USER-re nem?
VálaszTörlésa "user" a felhasználó nevére, vagy ahol van a mappája
VálaszTörlés"[Ahonnan jelszó nélkül akarsz belépni. User helyére írd a felhasználó nevét.]"
kiemeltem, mármint hogy jobban látszódjon
értem, de ha ez lenne a blogbejegyzésben is amit fentebb mondtam akkor nem kellene átirogatni sem, megoldaná a bash magától.
VálaszTörlésok, kiegészítettem :)
VálaszTörléscsak ha root-ként adja ki az ember a parancsokat, akkor úgy is hasznos odaírni a megfelelő user-t, de viszont minek a root, igaz, köszi!
de viszont jut eszembe -f kapcsoló nélkül a parancsot futtató user .ssh mappájába kerülnek a generált kulcsok! :)
VálaszTörlésNe feledjük a csodás
VálaszTörlésVisualHostKey yes
sem :)