Am configurarea cheii mele publice / private, dar nu știu unde ar trebui să meargă. Ar trebui ca ambele fișiere să fie plasate în ~/.ssh/
pentru utilizatorul meu?
Răspuns
Cheia privată rămâne acasă. Cheia publică călătorește:
- Plasați cheia dvs. privată în
~/.ssh
(gazdă locală). De obicei va fi~/.ssh/id_rsa
. - Plasați cheia dvs. publică în
~/.ssh/authorized_keys
(gazdă la distanță).
În timp ce primul pas se face de obicei automat când creați cheie, a doua poate fi realizată prin:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Dacă aveți orice configurație reziduală cu privire la gazda la distanță, este posibil să întâmpinați unele probleme cu aceasta (autentificarea eșuează , sau „prea multe erori de autentificare” ). Pentru a scăpa de această problemă, puteți forța ssh-copy-id
să utilizeze autentificarea prin parolă cu:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Desigur, o dacă cheile dvs. sunt plasate corect, nu mai este nevoie de o parolă:
$ ssh user@remotehost
S-ar putea să doriți, de asemenea, să adăugați o anumită configurație SSH în ~/.ssh/config
pentru a-l simplifica și mai mult:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
Datorită acestui fapt, puteți doar să tastați următoarele pentru a vă conecta la gazda la distanță:
$ ssh [custom name for the remote machine]
Editați: dacă ambele mașini (locale și la distanță) sunt la fel, puteți simplifica procedura cu:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Aceasta va adăuga cheia dvs. publică la fișierul authorized_keys
. Desigur, un alt mod de a vă conecta ca altcineva pe computerul dvs. local este să utilizați:
$ su [another user]
Acest lucru vă va economisi tranzacția SSH acolo unde este posibil să nu aveți nevoie de ea . Fără parolă su
poate fi configurat utilizând sudo
:
$ sudo -iu [another user]
ssh localhost
?~/.ssh/authorized_keys
local. Pentru aceasta, puteți utiliza doarcat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
. Am editat răspunsul meu.-i
la prima comandă, astfel încât întreaga comandă să arate ca$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
.