Waar moet mijn Authorized_keys-bestand zijn als ik naar `localhost` wil ssh?

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] 

Reacties

  • Is dit hetzelfde als ik ssh localhost?
  • @MrDuk In dit geval zijn zowel de lokale als de externe uiteinden dezelfde machine. Daarom moet uw openbare sleutel lokaal binnen ~/.ssh/authorized_keys staan. Hiervoor kunt u gewoon cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys gebruiken. Ik heb mijn antwoord aangepast.
  • Misschien zijn er dingen veranderd sinds je antwoord, maar ik moest een -i toevoegen aan je eerste commando, zodat het hele commando eruitziet als $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@remotehost.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *