Nu, generarea perechii de chei pentru utilizatorul root nu este „aplicată” altor utilizatori.
Puteți genera o pereche de chei și apoi o puteți copia public cheia oricărui utilizator ~/.ssh/authorized_keys
a computerului pe care trebuie să îl accesați. Astfel, vă puteți conecta oriunde prin același user@computer. De asemenea, la alte computere. Sau chiar din alți utilizatori și computere dacă copiați fișierul privat cheie (nu!). Dar asta nu este o practică bună, din punct de vedere al securității.
Voi explica procesul în termeni simpli.
- Generați perechea de chei pe computerul client, unde veți executa
ssh
comanda; de către utilizatorul cu care doriți să utilizați ssh
. Nu trebuie neapărat să fie generat acolo (sau de către un anumit utilizator), dar este mai simplu așa.
- Copiați cheia publică numai ați generat computerului pe care doriți să vă conectați prin ssh și utilizatorului computerului respectiv.
ssh-copy-id
în esență face ceva de genul acesta:
cat ~/.ssh/id_rsa.pub | ssh user@computer 'cat >> ~/.ssh/authorized_keys'
Rețineți că vă puteți conecta în mod arbitrar de la orice user@computer1 la orice user@computer2. Nu este nevoie să conectați root la root, de exemplu. Punct crucial, copiați sau transferați, indiferent de metodă, numai cheia publică. Cheia privată nu trebuie să fie transferată, copiată sau obținută acces de către cineva pe care nu doriți.
Am folosit termenul computer în loc de client/server, deoarece majoritatea sistemelor Linux au sshd (server) și ssh (client) instalate implicit în zilele noastre. Deci, puteți utiliza ssh pentru a vă conecta și administra de la server la server, sau chiar de la un server la un client.