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]
ssh localhost
?~/.ssh/authorized_keys
. Tätä varten voit käyttää vaincat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
. Muokkasin vastaustani.-i
ensimmäiseen komentoosi, jotta koko komento näyttää tältä$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
.