Hvor skal filen autoriserte_nøkler være hvis jeg vil ssh til `localhost`?

Jeg har mitt offentlige / private nøkkeloppsett, men jeg vet ikke hvor det skal gå. Skulle begge disse filene plasseres i ~/.ssh/ for min bruker?

Svar

Den private nøkkelen blir hjemme. Den offentlige nøkkelen reiser:

  • Plasser din private nøkkel i ~/.ssh (lokal vert). Det vil vanligvis være ~/.ssh/id_rsa.
  • Plasser den offentlige nøkkelen i ~/.ssh/authorized_keys (ekstern vert).

Mens det første trinnet vanligvis gjøres automatisk når du oppretter nøkkel, kan den andre oppnås gjennom:

$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost 

Hvis du har noen gjenværende konfigurasjon angående den eksterne verten, kan du få problemer med dette (godkjenning mislykkes , eller «for mange autentiseringsfeil» ). For å bli kvitt dette problemet, kan du tvinge ssh-copy-id til å bruke passordgodkjenning med:

$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost 

Selvfølgelig, o Når nøklene er riktig plassert, er det ikke lenger behov for passord:

$ ssh user@remotehost 

Det kan også være lurt å legge til noen SSH-konfigurasjoner i ~/.ssh/config for å gjøre det enda enklere:

Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa 

Takket være dette kan du bare skrive følgende for å logge på den eksterne verten:

$ ssh [custom name for the remote machine] 

Edit: Hvis begge maskinene (lokale og eksterne) er de samme, kan du forenkle prosedyren med:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 

Dette vil legge den offentlige nøkkelen til authorized_keys -filen. Selvfølgelig er en annen måte å logge på som noen andre på din lokale maskin å bruke:

$ su [another user] 

Dette vil spare deg for SSH-transaksjonen der du kanskje ikke trenger den . Passordfritt su kan konfigureres ved hjelp av sudo :

$ sudo -iu [another user] 

Kommentarer

  • Er dette det samme hvis jeg vil ssh localhost?
  • @MrDuk I dette tilfellet er både den lokale og den eksterne enden den samme maskinen. Derfor må du ha den offentlige nøkkelen inne i ~/.ssh/authorized_keys lokalt. For dette kan du bare bruke cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys. Jeg redigerte svaret mitt.
  • Kanskje ting har endret seg siden svaret ditt, men jeg trengte å legge til en -i til din første kommando, slik at hele kommandoen ser ut som $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *