Unde ar trebui să fie fișierul meu author_keys dacă vreau să ssh către `localhost`?

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] 

Comentarii

  • Este la fel dacă vreau să ssh localhost?
  • @MrDuk În acest caz, atât capetele locale, cât și cele la distanță sunt aceeași mașină. Prin urmare, trebuie să aveți cheia publică în interiorul ~/.ssh/authorized_keys local. Pentru aceasta, puteți utiliza doar cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys. Am editat răspunsul meu.
  • Poate că lucrurile s-au schimbat de la răspunsul dvs., dar a trebuit să adaug un -i la prima comandă, astfel încât întreaga comandă să arate ca $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *