Ik heb mijn publieke / private sleutel ingesteld, maar ik weet niet waar deze naartoe moet. Moeten beide bestanden in voor mijn gebruiker?
Antwoord
De privésleutel blijft thuis. De openbare sleutel reist:
- Plaats uw privésleutel in
~/.ssh
(lokale host). Meestal is deze~/.ssh/id_rsa
. - Plaats uw openbare sleutel in
~/.ssh/authorized_keys
(externe host).
Terwijl de eerste stap meestal automatisch wordt uitgevoerd wanneer u de sleutel, kan de tweede worden bereikt door:
$ ssh-copy-id ~/.ssh/id_rsa.pub user@remotehost
Als u een resterende configuratie heeft met betrekking tot de externe host, kunt u hier problemen mee krijgen (authenticatie mislukt , of “te veel authenticatiefouten” ). Om van dit probleem af te komen, kunt u ssh-copy-id
dwingen wachtwoordauthenticatie te gebruiken met:
$ ssh-copy-id -o"PubkeyAuthentication no" ~/.ssh/id_rsa.pub user@remotehost
Natuurlijk, o Als uw sleutels correct zijn geplaatst, is er geen wachtwoord meer nodig:
$ ssh user@remotehost
Misschien wilt u ook een SSH-configuratie toevoegen in ~/.ssh/config
om het nog eenvoudiger te maken:
Host [custom name for the remote machine] Hostname [remote hostname or IP] User [remote username] IdentityFile /home/[your local user]/.ssh/id_rsa
Dankzij dit kunt u gewoon het volgende typen om in te loggen op de externe host:
$ ssh [custom name for the remote machine]
Bewerken: als beide machines (lokaal en extern) hetzelfde zijn, kunt u de procedure vereenvoudigen met:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Dit zal uw publieke sleutel toevoegen aan het authorized_keys
bestand. Natuurlijk is een andere manier om als iemand anders in te loggen op uw lokale computer:
$ su [another user]
Dit bespaart u de SSH-transactie waar u deze misschien niet nodig heeft . Wachtwoordloos su
kan worden ingesteld met sudo
:
$ sudo -iu [another user]
ssh localhost
?~/.ssh/authorized_keys
staan. Hiervoor kunt u gewooncat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
gebruiken. Ik heb mijn antwoord aangepast.-i
toevoegen aan je eerste commando, zodat het hele commando eruitziet als$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost
.