Missä Author_keys-tiedostoni pitäisi olla, jos haluan ssh: n `localhost`?

Minulla on julkisen / yksityisen avaimen asetukset, mutta en tiedä minne sen pitäisi mennä. Pitäisikö nämä molemmat tiedostot sijoittaa kansioon ~/.ssh/ käyttäjälleni?

Vastaa

Yksityinen avain pysyy kotona. Julkinen avain kulkee:

  • Sijoita yksityinen avain kohtaan ~/.ssh (paikallinen isäntä). Se on yleensä ~/.ssh/id_rsa.
  • Sijoita julkinen avain ~/.ssh/authorized_keys (etäisäntä).

Vaikka ensimmäinen vaihe tehdään yleensä automaattisesti, kun luot avain, toinen voidaan suorittaa seuraavasti:

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

Jos sinulla on jäännösmäärityksiä etäisäntäkoneesta, saatat törmätä tähän ongelmiin (todennus epäonnistui tai ”liian monta todennuksen epäonnistumista” ). Voit päästä eroon tästä ongelmasta pakottamalla ssh-copy-id käyttämään salasanan todennusta seuraavilla tavoilla:

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

Tietysti o Koska avaimesi on asetettu oikein, salasanaa ei enää tarvita:

$ ssh user@remotehost 

Voit myös lisätä SSH-kokoonpanon kohtaan ~/.ssh/config tehdäksesi siitä vieläkin yksinkertaisemman:

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

Tämän ansiosta voit kirjoittaa vain seuraavan kirjautuaksesi etäisäntään:

$ ssh [custom name for the remote machine] 

Muokkaa: Jos molemmat koneet (paikalliset ja kauko-ohjaimet) ovat samat, voit yksinkertaistaa menettelyä seuraavasti:

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

Tämä lisää julkisen avaimen authorized_keys -tiedostoon. Tietenkin toinen tapa kirjautua jonkun toisena paikalliselle koneellesi on käyttää:

$ su [another user] 

Tämä säästää SSH-tapahtuman siellä, missä et ehkä tarvitse sitä . Salasanaton su voidaan määrittää käyttämällä sudo :

$ sudo -iu [another user] 

Kommentit

  • Onko tämä sama, jos haluan ssh localhost?
  • @MrDuk Tässä tapauksessa sekä paikallinen että etäpäät ovat sama kone. Siksi julkisen avaimen täytyy olla paikallisesti ~/.ssh/authorized_keys. Tätä varten voit käyttää vain cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys. Muokkasin vastaustani.
  • Ehkä asiat ovat muuttuneet vastauksestasi, mutta minun oli lisättävä -i ensimmäiseen komentoosi, jotta koko komento näyttää tältä $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *